# deque是一个动态的数组。
# 顺序容器 deque和vector非常类似,vector只能pop_back(), deque既能后面也能从前面pop
# deque拥有自己的迭代器
Demo:
#include <stdio.h>
#include <iostream>
#include <deque> //数组
/*顺序容器STL deque和vector非常类似,vector只能pop_back(),
deque既能后面也能从前面pop*/
using namespace std;
int main(int argc, char *argv[])
{
deque<int> d;
for (int i = 0; i < 8; ++i){
d.push_back(i*i);
}
for (size_t count = 0; count < d.size(); ++count){
cout << "deque[" << count << "] = " << d[count] << endl;
}
d.pop_front(); //从前面放出,
d.pop_back(); //从后面放出
cout << "\n删除之后:\n";
//使用deque的迭代器输出
deque<int>::iterator it;
for (it = d.begin(); it != d.end(); ++it){
cout << "deque->" << *it << endl;
}
return 0;
}
输出:
deque[0] = 0
deque[1] = 1
deque[2] = 4
deque[3] = 9
deque[4] = 16
deque[5] = 25
deque[6] = 36
deque[7] = 49
删除之后:
deque->1
deque->4
deque->9
deque->16
deque->25
deque->36
可以使用distance方法获取迭代器的下标:
size_t index = distance(d.begin(), it);
# 需要加上头文件:include <algorithm> 翻译为排序算法.