您的位置:首页 > 编程语言 > C语言/C++

c++stl的deque(双端队列)

2017-11-04 21:02 513 查看
1. deque的初始化:

deque<int> d;  //没有任何元素

deque<int> d2(10)  //创建有10个元素的deque对象

deque<float> d(10,8.5);  //创建10个float型元素的deque对象d,每个元素为8.5;

2. deque赋值:deque<int>
 d;

头插法: d.push_front(10);

尾插法:d.push_back(1);

中间插入法: d.insert(d.begin()+1,8);

插入后的结果为:  10  8  1

3. size()函数:用来求deque的大小,例如:d.size()

4. clear()函数:用来清空元素

5. 访问deque元素的几种方式:

(1) 以数组的形式:

for(int i=0;i<d.size();i++)

cout<<d[i]<<" ";

(2) 以前向迭代器形式:

deque<int>::iterator it;

for(it=d.begin();it!=d.end();it++)

cout<<*it<<" ";

(3) 以逆向迭代器形式:

deque<int>::reverse_iterator rit;

for(rit=d.rbegin();rit!=d.rend();rit++)

cout<<*rit<<" ";

(4) 从头部出队,从而删除元素:

d.pop_front();

(5) 从尾部出队,从而删除元素:

d.pop_back();

5. 用erase()函数从中间删除元素,其参数是迭代器的位置;例如:

d.erase(d.begin()+1);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息