list容器是一个双向链表,能够高效地进行插入删除元素。

构造函数

list<Elem> c;//空list
list<int> c(3);//创建一个含有三个默认值是0的元素的链表
list<int> c(5,2);//创建一个含有五个元素的链表。值都是2

成员函数

c.begin();//返回指向链表第一个元素的迭代器
c.end();//返回指向链表最后一个元素之后的迭代器
c.rbegin();
c.rend();//反向迭代器
c.front();//返回链表c的第一个元素
c.back();//返回链表c的最后一个元素
c.empty();//推断链表是否为空
c.size();//返回链表c中实际元素的个数
c.clear();//清空链表

插入和删除

c.insert(pos,num);//在pos位置插入元素num
c.insert(pos,n,num);//在pos位置插入n个元素num
c.erase(pow);//删除pos位置的元素 c.push_back(num);//在末尾添加一个元素
c.pop_back();//删除末尾的元素
c.push_front(num);//在開始位置添加一个元素
c.pop_front();//删除第一个元素

其它

c.reverse();//翻转链表
c.sort();//将链表排序,默认升序
c.sort(cmp);//自己定义小于函数

Demo

#include <iostream>
#include <list>
using namespace std;
list<int> l;
void printl()
{
list<int>::iterator it;
for(it = l.begin() ; it != l.end() ; it ++) {
cout << *it << endl;
}
cout << "" << endl;
}
int main()
{
l.push_front(1);//1
l.push_back(2);//1->2
printl();//1->2
list<int>::iterator it = l.begin();
it ++;
l.insert(it,4);
printl();//1->4->2
l.reverse();
printl();//2->4->1
return 0;
}

最新文章

  1. 运行html代码
  2. FZU-2075 Substring(后缀数组)
  3. 获取贴图及IES文件
  4. mvn命令备忘
  5. hdu 1228 A + B
  6. nonce和timestamp在Http安全协议中的作用
  7. bzoj3531
  8. judge loop in undirected graph
  9. c++ - Create empty json array with jsoncpp - Stack Overflow
  10. jstl 的判断使用
  11. MUI上传图片之选择相册和相机上传
  12. js 对数据进行过滤
  13. HDFS(一) 高级特性
  14. git的命令行操作
  15. MySQL之数据导入导出
  16. 备忘:EBS参考链接
  17. H5技术干货
  18. Spring MVC Hello World 404
  19. sql: having使用,及删除重复数据
  20. Android之计算两个时间的相差

热门文章

  1. Gradle:Gradle入门
  2. Chromium网页输入事件捕捉和手势检測过程分析
  3. ios OpenCv的配置和人脸识别技术
  4. hdu2767 Proving Equivalences,有向图强联通,Kosaraju算法
  5. linux + nginx 的配置优化
  6. VB.net 捕获项目全局异常
  7. layer Tips参数使用
  8. Sql Server远程还原
  9. Uva 11324 The Largest Clique【强连通 DAG动规 spfa】
  10. web开发必看:你的网站支持https吗?