STL 之 deque的用法

来源:互联网 发布:英伦对决影评知乎 编辑:程序博客网 时间:2024/04/30 19:57

deque双端队列,及支持vector的随机访问[],也支持list的前后两端插入删除,功能很强大,现总结一下其主要用法

deque与vector很类似,vector的函数操作好像deque都支持,而且也支持pop_front和push_front,但是占用内存较多

支持deque<int>a[100],操作

主要操作函数:

(1)    构造函数

deque():创建一个空deque

deque(int nSize):创建一个deque,元素个数为nSize

deque(int nSize,const T& t):创建一个deque,元素个数为nSize,且值均为t

deque(const deque &):复制构造函数

(2)    增加函数

void push_front(const T& x):双端队列头部增加一个元素X

void push_back(const T& x):双端队列尾部增加一个元素x

iterator insert(iterator it,const T& x):双端队列中某一元素前增加一个元素x

void insert(iterator it,int n,const T& x):双端队列中某一元素前增加n个相同的元素x

void insert(iterator it,const_iterator first,const_iteratorlast):双端队列中某一元素前插入另一个相同类型向量的[forst,last)间的数据

(3)    删除函数

Iterator erase(iterator it):删除双端队列中的某一个元素

Iterator erase(iterator first,iterator last):删除双端队列中[first,last)中的元素

void pop_front():删除双端队列中最前一个元素

void pop_back():删除双端队列中最后一个元素

void clear():清空双端队列中最后一个元素

(4)    遍历函数

reference at(int pos):返回pos位置元素的引用

reference front():返回手元素的引用

reference back():返回尾元素的引用

iterator begin():返回向量头指针,指向第一个元素

iterator end():返回指向向量中最后一个元素下一个元素的指针(不包含在向量中)

reverse_iterator rbegin():反向迭代器,指向最后一个元素

reverse_iterator rend():反向迭代器,指向第一个元素的前一个元素

(5)    判断函数

bool empty() const:向量是否为空,若true,则向量中无元素

(6)    大小函数

Int size() const:返回向量中元素的个数

int max_size() const:返回最大可允许的双端对了元素数量值

(7)    其他函数

void swap(deque&):交换两个同类型向量的数据

void assign(int n,const T& x):向量中第n个元素的值设置为x


deque<int> d;d.push_back(1);d.push_front(2);d.size()d.front();d.back();d[2]=3;d.pop_back();d.push_back();d.push_back(100);d.erase(100);d.clear();if(d.empty) cout<<"YES"<<endl;

好的关于deque的介绍:http://blog.csdn.net/longshengguoji/article/details/8519812
c++11中的新特性:http://www.cplusplus.com/reference/deque/deque/



0 0
原创粉丝点击