1. 程式人生 > 其它 >deque容器01之建構函式

deque容器01之建構函式

技術標籤: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; }

在這裡插入圖片描述