STL容器 之 list
来源:互联网 发布:json数组按key拆分 编辑:程序博客网 时间:2024/05/30 23:41
list 特殊函数 : swap, sort, unique(去重), merge, splice ,reverse, remove
#include<iostream>#include<list> // 双链表using namespace std;bool Compare(int a,int b){ return a>b; /* if(a>b) return true; else {return false;} */}int main(){ list<int> list1; // 只能定义空链表 // push_back() , push_front() 输入元素 for(int i=4;i<=5;i++) { list1.push_back(i); } for(int i=3;i>=1;i--) { list1.push_front(i); } cout<<list1.size()<<endl; // 迭代器 输出元素 cout<<list1.front()<<endl; cout<<list1.back()<<endl; list<int>::iterator it; for(it = list1.begin(); it!=list1.end();it++) // 顺序 { cout<<*it<<endl; } /* list<int>::reverse_iterator it1; for(it1 = list1.rbegin();it1 != list1.rend();it1++) //逆序输出 { cout<<*it1<<endl; }*/ // 逆序 list1.reverse(); for(it = list1.begin(); it!=list1.end();it++) { cout<<*it<<endl; } // 排序 list2.sort(); list2.sort(Compare); // 删除 list1.pop_back(); // 删除尾元 1 2 3 4 list1.pop_front(); //删除首元 2 3 4 it = list1.begin(); it++; list1.erase(it); // 2 4 // 注意 在list中,只能it++,不能 如 随机访问不行; list1.remove(2); // 删除所有值为2的元素 4 list1.unique(); // 去重 // 插入 list1.insert(list1.begin(),3); //将3插到begin()前 3 4 list1.insert(list1.begin()++,2,5); // 插2个5插到 4 的前面 // 链表copy list<int> list2(list1); /* list<int> list2; list2.insert(list2.begin(),list1.begin(),list1.end()); */ // 合并 merge(),splice() list1.merge(list2); // 将list2合并到list1后面 return 0; }
vector 与 list 的不同之处:
http://www.cnblogs.com/bewolf/p/4419208.html
0 0
- STL容器之list
- STL容器之list
- STL容器之list
- STL容器之list
- STL容器之list
- STL之list容器
- STL容器之list
- STL容器 之 list
- STL容器之list
- STL之List容器
- STL之List容器
- 初探STL容器之List
- STL之list容器详解
- STL之list容器详解
- STL之list容器详解
- STL之list容器详解
- STL之list容器详解
- STL容器总结之list
- linux常用命令(面试也够了)
- js判断移动端是否安装某款app的方法
- HDU1538——A Puzzle for Pirates(博弈论,海盗分金问题)
- PHP面向对象:封装--私有成员的访问
- 区间覆盖问题(贪心)
- STL容器 之 list
- 奇怪的电梯-弗洛伊德算法介绍
- UnityEditor 事件(1)
- Struts.xml配置文件的讲解
- BFS 模板
- 静态成员变量和静态成员函数
- PREV-31小朋友排队(树状数组)
- Android Studio 的搭建
- sublime 快速创建html