46.单向链表

  • 初始化单向链表
    1 forward_list<int> list1{ 1,2,3,4,5 };

     

  • 链表排序
    1 list1.sort();//排序

     

  • 前插
    1 list1.push_front(10);

     

  • 链表反转
    1 list1.reverse();

     

  • 链表头结点
    1 auto ib = list1.begin();

     

  • 链表头结点前一个结点
    1 auto ib = list1.before_begin();

     

  • 指定位置后插入
    auto ib = list1.begin();
    int a[5] = { 11,12,13,14,15 };
    list1.insert_after(ib, 19);
    list1.insert_after(ib, a, a + 5);

     

  • 删除指定结点后的一个结点
    1 list1.erase_after(ib);

     

  • 输出链表所有的元素
    1 for (auto ib = list1.begin(), ie = list1.end(); ib != ie; ib++)
    2 {
    3     cout << *ib << endl;
    4 }

     

  • 链表重新初始化
    1 list1.assign(10, 19);

     

  • 链表合并(要排序后)
    1 forward_list<int> list1{ 1,2,3,4,5 };
    2 forward_list<int> list2{ 1,2,3,4,5 };
    3 list1.sort();//排序
    4 list2.sort();
    5 //合并
    6 list1.merge(list2);

     

posted @ 2018-03-12 21:13  喵小喵~  阅读(114)  评论(0编辑  收藏  举报