C 提高程式設計 3 3 deque容器

2021-10-21 06:24:25 字數 3126 閱讀 1964

3.3.1 deque容器基本概念

功能:

deque與vector區別:

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-k0nddikc-1615014879124)(assets/clip_image002-1547547642923.jpg)]

deque內部工作原理:

deque內部有個中控器,維護每段緩衝區中的內容,緩衝區中存放真實資料

中控器維護的是每個緩衝區的位址,使得使用deque時像一片連續的記憶體空間

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-mzoit10c-1615014879126)(assets/clip_image002-1547547896341.jpg)]

3.3.2 deque建構函式

功能描述:

函式原型:

示例:

#include void printdeque(const deque& d) 

cout << endl;

}//deque構造

void test01()

printdeque(d1);

dequed2(d1.begin(),d1.end());

printdeque(d2);

dequed3(10,100);

printdeque(d3);

dequed4 = d3;

printdeque(d4);

}int main()

**總結:**deque容器和vector容器的構造方式幾乎一致,靈活使用即可

3.3.3 deque賦值操作

功能描述:

函式原型:

示例:

#include void printdeque(const deque& d) 

cout << endl;

}//賦值操作

void test01()

printdeque(d1);

dequed2;

d2 = d1;

printdeque(d2);

dequed3;

d3.assign(d1.begin(), d1.end());

printdeque(d3);

dequed4;

d4.assign(10, 100);

printdeque(d4);

}int main()

總結:deque賦值操作也與vector相同,需熟練掌握

3.3.4 deque大小操作

功能描述:

函式原型:

示例:

#include void printdeque(const deque& d) 

cout << endl;

}//大小操作

void test01()

printdeque(d1);

//判斷容器是否為空

if (d1.empty())

else

//重新指定大小

d1.resize(15, 1);

printdeque(d1);

d1.resize(5);

printdeque(d1);

}int main()

總結:

3.3.5 deque 插入和刪除

功能描述:

函式原型:

兩端插入操作:

指定位置操作:

示例:

#include void printdeque(const deque& d) 

cout << endl;

}//兩端操作

void test01()

//插入

void test02()

//刪除

void test03()

int main()

總結:

3.3.6 deque 資料訪問

功能描述:

函式原型:

示例:

#include void printdeque(const deque& d) 

cout << endl;

}//資料訪問

void test01()

cout << endl;

for (int i = 0; i < d.size(); i++)

cout << endl;

cout << "front:" << d.front() << endl;

cout << "back:" << d.back() << endl;

}int main()

總結:

3.3.7 deque 排序

功能描述:

演算法:

示例:

#include #include void printdeque(const deque& d) 

cout << endl;

}void test01()

int main()

總結:sort演算法非常實用,使用時包含標頭檔案 algorithm即可

總結:選取不同的容器運算元據,可以提公升**的效率

C 程式設計入門之七(deque容器)

deque 建構函式 void printdeque const deque int d 用引用的方式定義deque的資料型別 deque 賦值操作 void printdeque const deque int d cout endl void test01 printdeque d1 opera...

C 順序容器 deque雙端佇列容器

deque int deqint 乙個存放 int 的 deque 容器。deque float deq float 乙個存放 float 的 deque 容器。deque beg,end 從 beg,end 區間中拷貝資料,beg和end為迭代器 deque n,elem 將 n 個 elem 拷...

C 之Deque容器初學(一)

deque簡介 deque是 double ended queue 的縮寫,和vector一樣都是 stl的容器,deque是雙端陣列 而vector是單端的。deque在介面上和 vector 非常相似,在許多操作的地方可以直接替換。deque可以隨機訪問元素 支援索引值直接訪問,用 操作符或 a...