- 初始化单向链表
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);