一.解释:

list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,list不仅是一个双向链表,而其还是一个环状双向链表。所以它只需要一个指针,便可以完整实现整个链表。list有一个重要性质:插入操作(insert)和合并操作(splice)都不会 造成原有的list迭代器失效。甚至 list的元素删除操作(erase)也只有“指向被删除元素”的那个迭代器失效,其他迭代器不受任何影响。

二.常用操作:

  1.头文件

#include<list>

  2.定义

list<string>  test; //定义一个string类型的list

  3.常用函数

push_front(x):把元素x推入(插入)到链表头部
push_back(x):把元素x推入(插入)到双向队列的尾部
pop_front():弹出(删除)双向队列的第一个元素
pop_back():弹出(删除)双向队列的最后一个元素
begin():返回向量中第一个元素的迭代器
clear(): 清空list中的所有元素。
empty():利用empty() 判断list是否为空。
front(): 获得list容器中的头部元素
back(): 获得list容器的最后一个元素。

三.例子

#include <iostream>
#include<string>
#include<list>
using namespace std;
typedef list<string> LISTSTR;
int main()
{
LISTSTR test; test.push_back("back"); //back
test.push_front("middle"); //middle back
test.push_front("front"); //front middle back cout<<test.front()<<endl; //front
cout<<*test.begin()<<endl; //front cout<<test.back()<<endl; //back
cout<<*(test.rbegin())<<endl; //back test.pop_front(); //middle back
test.pop_back(); //middle cout<<test.front()<<endl; //middle }

最新文章

  1. Windows Server 2008 下解析二级域名的方法
  2. Struts2 easy UI插件
  3. jacob操作word
  4. objective-c(框架)
  5. 【BZOJ】3065: 带插入区间K小值
  6. python数据处理相关的一些知识点(学习点)
  7. glyphicons-halflings-regular.ttf 404
  8. Problem C HDU 5224
  9. jdk配置及maven配置
  10. syslog_test.c 简单的syslog函数
  11. poj 2356
  12. python学习:匿名函数
  13. Nginx多虚拟主机下泛域名配置
  14. sql字符串包含单引号
  15. 01.pandas
  16. javascript的介绍、javascirpt的存在形式、javascript注释
  17. [HAOI2008]圆上的整点(数论)
  18. ajax批量删除功能的实现源代码
  19. 笨方法学python之转义字符
  20. pycharm的安装(图文)

热门文章

  1. CentOS yum 安装 PHP 5.6.24
  2. java数组中取出最大值
  3. python3中socket套接字的编码问题解决
  4. laravel如何向视图传递变量的方法
  5. java对mysql的增删改查
  6. DOCKER 从入门到放弃(一)
  7. MaintainableCSS 《可维护性 CSS》 --- 复用篇
  8. Spring Boot框架的搭建
  9. Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: javax/transaction/Synchronization
  10. database.properties数据源