标签:== pre list end 区别 merge turn bool code
#include <list> #include <iostream> using std::list; /* 双向环状链表 //每一个结点 一个数据域 一个前驱指针 一个后驱指针 随机插入方便0(1) 随机访问效率低0(n) */ bool foo(int a) { return a % 2 == 0; } bool foo2(int a) { return a == 0; } int main() { //初始化列表 list<int> list_test1; list<int> list_test2(5);//5个结点的链表 默认值是0 list<int> list_test3(2,3); list<int> list_test4(list_test3); list<int> list_test5= list_test4; //末尾插入 list_test1.push_back(10); list_test1.push_back(20); list_test1.push_back(30); //末尾删除 list_test1.pop_back(); //和vector的区别 //排序 list_test1.sort(); //前侧插入 list_test1.push_front(40); //前侧删除 list_test1.pop_front(); //merge 合并两个有序链表再排序 list_test1.merge(list_test2); //清除指定值的元素 remove list_test1.remove(3); //清除满足条件的元素 remove_if 参数是返回bool的函数指针 list_test1.remove_if(foo); list_test1.remove_if(foo2);//条件返回值必须是bool //splice 拼接结合 //unique() 删除重复值,保证唯一 list_test1.unique(); for (auto& i : list_test1) { std::cout << i << std::endl; } }
标签:== pre list end 区别 merge turn bool code
原文地址:https://www.cnblogs.com/long5683/p/11772514.html