3.3 deque容器
vector对头部的插入删除需要移动元素
deque头端也是开的
vector内部结构是一段连续空间
中控器维护,像一段连续的空间
访问元素速度没有vector快,因为内部的实现
deque容器的迭代器也是支持随机访问的!
#include<iostream> #include<deque> using namespace std; // deque构造函数 void printDeque(const deque<int>& d) // 常量引用,防止修改 { for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++) { //*it = 100; // const_iterator迭代器是只读的 cout << *it << " "; } cout << endl; } void test01() { deque<int> d1; for (int i = 0; i < 10; i++) { d1.push_back(i); } printDeque(d1); deque<int>d2(d1.begin(), d1.end()); // 区间赋值 printDeque(d2); deque<int> d3(10, 100); // 10个100 printDeque(d3); deque<int> d4(d3); // 拷贝构造 printDeque(d4); } int main() { test01(); return 0; }
和vector基本一样
deque没有容量的限制,所以没有容量方法
和vector容器一样
front和back代表首尾元素
STL提供的sort方法
对于支持随机访问的迭代器的容器,都可以利用sort算法直接对其进行排序
sort要包含头文件algorithm