c++ forward_list 的使用
2017-12-18 20:27
225 查看
/*C++11 forward_list的使用*/ bool signal(const int&v) { if (v > 10 && v < 30) { return true; } return false; } bool signal2(const int&v1,const int &v2) { if (v1 > v2) { return true; } return false; } void main5_6() { int arr[] = { 2, 3, 4, 5 }; int size = sizeof(arr) / sizeof(int); std::forward_list<int> myList(arr, arr + size); auto it = myList.before_begin();//指向头一个元素的前一个位置,这个是单链表,方便插入数据 it++; while (it != myList.end()) { cout <<*it<< endl; it++; } if (myList.empty()) { cout << "Empty 1" << endl; } else { cout << "Not Empty 1" << endl; } forward_list<int>::reference re = myList.front();// 返回第一个元素的引用; cout << re << endl; re = 22; it = myList.begin(); cout << *it << endl; //myList.~forward_list(); //销毁整个list cout <<" *****" << endl; myList.push_front(12); //在头部添加一个元素 ////myList.pop_front(); it = myList.before_begin(); myList.insert_after(it, 99); //在迭代器后面开始添加元素 //myList.insert_after(it, arr, arr + size); //插入数组的元素 //myList.insert_after(it, 10, 100);//插入10个值为100的元素 it = myList.begin(); //myList.erase_after(it); //删除it位置的元素 auto it2 = myList.end(); /*it2++; it2++; it2++;*/ //myList.erase_after(it, it2); //删除it下一个元素到it2上一个元素之间的所有元素 myList.remove(99); //删除值为99的元素 //myList.reverse(); //所有元素反序 myList.sort(); //所有元素重新排序,默认是升序 //myList.sort(signal2); //从大道小排序 /*myList.remove_if(signal);*/ std::forward_list<int> myList2 = {7,100,111};//要保证也是降序, myList2.sort(); myList.merge(myList2); //只支持升序 it = myList.begin(); while (it != myList.end()) { cout << *it << endl; it++; } }
相关文章推荐
- 【C++ STL应用与实现】7: 如何使用std::forward_list 单链表 (since C++11)
- C++ 标准库 vector list map 基本使用方法 示例程序
- C++ map 和 list 转换 排序 遍历使用示例
- C++中STL STD::list使用说明
- [C++]数据结构:公式化描述的线性表LinearList的创建与使用
- 使用c++的 list.sort()进行排序
- C++中List的使用
- C++中防止STL中迭代器失效——map/set等关联容器——vector/list/deque等序列容器—如何防止迭代器失效—即erase()的使用
- C++模板库 list 的使用方法总结
- C++ 标准库 vector list map使用方法
- 【语言-C++】STL std::list的使用
- c++中list容器的简要使用说明(1)
- C++ 中list容器的简要使用说明(2)
- C++存储数据结构List、CArray、Vector和Map使用分析
- C++ 标准库 vector list map 基本使用方法 示例程序
- android 使用webview.copyBackForwardList()来进行判断是否是在当前页打开的链接
- c++ list 容器使用例子
- [C++/C] Boost Adjacency_list 使用
- C++ 标准库 vector list map使用方法
- c++中参数不定函数和va_list的使用