list 链表
Posted long5683
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list 链表相关的知识,希望对你有一定的参考价值。
#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; } }
以上是关于list 链表的主要内容,如果未能解决你的问题,请参考以下文章