首页 > 代码库 > C++ STL list详解
C++ STL list详解
一.解释:
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 }
<style>p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; orphans: 2; widows: 2 } p.western { font-family: "Times New Roman", serif; font-size: 10pt } p.cjk { font-family: "Times New Roman", serif; font-size: 10pt } p.ctl { font-family: "Times New Roman", serif; font-size: 10pt } a:link { }</style>
C++ STL list详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。