deque容器01之建構函式
阿新 • • 發佈:2021-02-10
技術標籤:stl學習之dequec++stl
deque容器介紹
功能:
- 雙端陣列,可以對頭部進行新增和刪除的操作
deque和vector的區別:
- vector對於頭部的插入和刪除效率低,資料量越大,效率越低
- deque相對而言,對於頭部的插入和刪除速度會比vector快
- vector訪問元素時的速度比deque快,這和兩者內部實現有關
**deque內部工作原理: **
deque內部有一箇中控器,維護每段緩衝區的內容,緩衝區中存放真實資料,中控器維護的是每個緩衝區的地址,使得使用debug時像一片連續的記憶體空間
deque容器的迭代器也支援隨機訪問的
建構函式
函式原型:
#include<iostream>
using namespace std;
#include<deque>
//deque的建構函式
void p(const deque<int>& d)
{
for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
{
//*it = 100; 加了const關鍵字後,就無法對資料進行修改
cout << *it << " ";
}
cout << endl;
}
void realApply()
{
//1.預設構造
deque<int>d1;
d1.push_back(5);
d1.push_back(2);
d1.push_back(0);
p(d1);
//2.區間
deque<int> d2(d1.begin(), d1.end());
p(d2);
//3.n個elem拷貝給本身
deque<int> d3(1, 521);
p(d3);
//4.拷貝構造
deque<int> d4(d3);
p(d4);
}
int main()
{
realApply();
system ("pause");
return 0;
}