赞
踩
写这个博客专栏就是为了以后备用。
list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,list不仅是一个双向链表,而其还是一个环状双向链表。所以它只需要一个指针,便可以完整实现整个链表。list有一个重要性质:插入操作(insert)和合并操作(splice)都不会 造成原有的list迭代器失效。甚至 list的元素删除操作(erase)也只有“指向被删除元素”的那个迭代器失效,其他迭代器不受任何影响。
头文件
#include <list>
#include <string>
常用函数
void push_front(std::string x):把元素x推入(插入)到链表头部
void push_back(std::string x):把元素x推入(插入)到双向队列的尾部
void pop_front():删除双向队列的第一个元素
void pop_back():删除双向队列的最后一个元素
begin():返回向量中第一个元素的迭代器
void clear(): 清空list中的所有元素。
int empty():利用empty() 判断list是否为空。
std::string front(): 获得list容器中的头部元素
std::string 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
-
- cout<<test.empty()<<endl; //False
- cout<<test.size()<<endl; //1
-
- return 0;
- }
这个例子呢,在其他博主的基础上加了点。后边的注释是运行结果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。