c++STL容器之deque容器
发布时间:2020-12-16 09:06:40 所属栏目:百科 来源:网络整理
导读:deque是双端数组 。 deque和vector的区别 : vector对于头部的插入和删除效率低,数据量越大,效率越低; deque相对于而言,对头部的插入和删除比vector快; vector访问元素时速度比deque快,这和两者的内部实现有关; deque内部工作原理 : deque内部有个中
deque是双端数组。 deque和vector的区别:
deque内部工作原理: deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放着真实数据。中控器维护的是每个缓冲区的地址,使得使用每个deque时像一块连续的内存空间。 deque容器的迭代器是支持随机访问的。 一、deque构造函数 deque<T> deqT deque(beg,end) deque(n,elem) deque(const deque &deq) #include<iostream> #include<deque> using namespace std; //加入const限制只读,并使用const_iterator 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> d1; for (int i = 0; i < 10; i++) { d1.push_back(i); } printDeque(d1); deque< d2(d1.begin(),d1.end()); deque<int> d3(4,3); deque< d4(d1); } int main() { test(); system("pause); return 0; } 二、赋值操作(基本上与vector一致) #include<iostream>) { d1.push_back(i); } deque< d2; d2 = d1; deque< d3; d3.assign(d1.begin(),1)"> d4; d4.assign(); } 三、deque大小操作(与vector也基本一致,但是deque中没有容量capaticy限制) |
相关内容