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);//1l.push_back(2);//1->2printl();//1->2list<int>::iterator it = l.begin();it ++;l.insert(it,4);printl();//1->4->2l.reverse();printl();//2->4->1return 0;
}

转载于:https://www.cnblogs.com/liguangsunls/p/7149787.html

C++ STL之list具体解释相关推荐

  1. STL之nth_element__寻找第n大的元素

    参考博客: STL nth_element神器 官方解释:http://www.cplusplus.com/reference/algorithm/nth_element/ nth_element(f ...

  2. C++ STL模板库用法查询及一些常见面试题(自用)

    C++STL模板库 文章目录 C++STL模板库 用法查询 Array 1.使用 2.创建 3.成员函数 Vector 1.使用 2. 创建 3.成员函数 deque 1.使用 2. 创建 3.成员函 ...

  3. 【STL模板库_(个人总结)】

    1.什么是STL? 2.解释一下什么是trivial destructor 3.使用智能指针管理内存资源,RAII是怎么回事? 4.迭代器:++it.it++哪个好,为什么 5.说一下C++左值引用和 ...

  4. [STL]六大组件介绍(目录 全)

    一般介绍 STL(Standard TemplateLibrary),即标准模板库,是一个具有工业强度的,高效的C++程序库.它被容纳于C++标准程序库(C++ Standard Library)中, ...

  5. Qt中打开二维、三维的工程图

    用了整整一个周的时间才搞完如何在Qt中打开二维.三维的工程图,并实现基本的移动.旋转.放大缩小.动画等功能.在这个过程中网上找了很多资料,主要用到Qt 中的QAxWidget类(ActiveX),下面 ...

  6. 【STL源码剖析】list模拟实现 | 适配器实现反向迭代器【超详细的底层算法解释】

    今天博主继续带来STL源码剖析专栏的第三篇博客了! 今天带来list的模拟实现! 话不多说,直接进入我们今天的内容! 前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构https://b ...

  7. C++ STL的reserve函数

    在阅读ceph源码过程中发现部分C++语法还是不够熟悉,特此做一下笔记. 关于STL中的reserve函数的使用 reserve()是为容器预留空间,即为当前容器设定一个空间分配的阈值,但是并不会为容 ...

  8. STL模拟实现1.0 -- list和iterator模拟实现和简单分析

    引言 C ++ 标准模本库<STL>中有很多优秀的代码实现,不然怎么能叫做C++标准模板库呢,其中一个实现就是有一个容器,叫做list.所谓容器其实就是存储相同类型数据的一个存储集合,li ...

  9. c++ STL容器初探

    什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器.很简单,容器就是保存其它对象的对象 ...

最新文章

  1. php选框判断,网络编程如何判断php复选框是否被选中
  2. qt 实现 以图片为中心 让它旋转_QT图片旋转动画
  3. virtualbox 命令
  4. 交际能力弱的人,适合当律师吗?
  5. 这台计算机上缺少此项目引用的 NuGet 程序包,DotNetCompilerPlatform
  6. 【字符编码系列】字符,字符集,字符编码解惑
  7. java weblogic 下载_JAVA_weblogic企业级技术 PDF 下载
  8. FFmpeg编解码器如何
  9. artDialog--经典的网页对话框组件
  10. C#-实现微信激活会员卡后响应激活动作并获取会员信息
  11. 关于C++ 存储类型auto、register、static、extern、mutable
  12. 仙侠手游服务器搭建。
  13. 保姆级教学!Xcode 配置 OpenGL 环境
  14. MapReduce实现矩阵乘法的一些总结
  15. 【操作篇】Excel中如何批量删除批注
  16. ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cannot be translated
  17. python总结与习题(一)
  18. Java 9、10、11,谁才是Java程序员的本命?
  19. 海思16DV300系统搭建过程
  20. 第二章 Redis高级

热门文章

  1. 安装JDK后,未设置Path,也能执行java.exe的原因
  2. DrawWindowFrame
  3. Asp.Net 构架(HttpModule 介绍) - Part.3
  4. Flutter RotatedBox 旋转组件
  5. 小程序复制指定内容到剪贴板
  6. Category类别、继承
  7. ASP.NET的IIS映射
  8. 浮动元素 —— 怎么使用它们、它们有什么问题以及怎么解决这些问题。
  9. Android 消息处理源代码分析(1)
  10. [网络编程] - MIME格式详细介绍[转]