deque
3.3 deque容器
3.3.1 deque容器基本概念
功能:
·双端数组,可以对头端进行插入删除操作
deque与vector区别:
. vector对于头部的插入删除效率低,数据量越大,效率越低. deque相对而言,对头部的插入删除速度回比vector快
. vector访问元素时的速度会比deque快,这和两者内部实现有关
3.3.2 deque构造函数
功能描述:
. deque容器构造
函数原型:
deque deqT;//默认构造形式
deque(beg, end);//构造函数将[beg, end)区间中的元素拷贝给本身。
deque(n,elem);//构造函数将n个elem拷贝给本身。
deque( const deque &deq); //拷贝构造函数
#include<iostream>
using namespace std;
#include<deque>
void printDeque(const deque<int>&dl) {//const不可修改
for (deque<int>::const_iterator it = dl.begin(); it < dl.end();it++) {
cout << *it << " ";
}
cout << endl;
}
void test() {
deque<int>dl;
for (int i = 0; i < 10;i++) {
dl.push_back(i);
}
printDeque(dl);
}
int main() {
test();
system("pause");
return 0;
}
给deque赋值
deque没有capacity
deque,vector 排序sort
常量迭代器 const_iterator
#include<iostream>
using namespace std;
#include<deque>
#include<algorithm>
void printDeque(const deque<int>&d){
for (deque<int>::const_iterator it = d.begin(); it != d.end();it++) {
cout << *it << " ";
}
cout << endl;
}
void test() {
deque<int>d;
d.push_back(10);
d.push_back(20);
d.push_back(30);
d.push_front(100);
d.push_front(200);
d.push_front(300);
printDeque(d);
sort(d.begin(),d.end());
printDeque(d);
}
int main() {
test();
system("pause");
return 0;
}
sort默认是升序,对于支持随机访问的迭代器都可以利用sort进行排序
使用sort的时候必须包含头文件#include<algorithm>