一、deque工作原理:
deque容器內部有個中控器,維護每段緩沖區中的內容,緩沖區中存放真實數據;中控器維護的每個緩沖區的地址,使得使用deque時像一片連續的內存空間,如下圖所示:
二、deque構造函數:
1、功能描述:
deque容器構造
2、函數原型:
dequedeqT;//默認構造函數
deque(beg,end);//構造函數將[beg,end)區間中的元素拷貝給本身
deque(n,elem);//構造函數將n個elem拷貝給本身
deque(const deque &deq);//拷貝構造函數
代碼應用:
#include
結果輸出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
100 100 100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100 100 100
三、deque賦值操作:
1、功能描述:
給deque容器進行賦值
2、函數原型:
deque operator=(const deque &deq);//重載等號操作符
assign(beg,end);//將[beg,end)區間中的數據拷貝賦值給本身
assign(n,elem);//將n個elem拷貝賦值給本身
代碼應用:
#include
結果輸出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
100 100 100 100 100 100 100 100 100 100
四、deque大小操作:
1、功能描述:
對deque容器的大小進行操作
2、函數原型:
deque.empty();//判斷容器是否為空
deque.size();//返回容器中的元素個數
deque.resize(num);//重新指定容器的長度num,若容器變長,則以默認值填充新位置;如果容器變短,則末尾超出容器長度的元素被刪除
deque.resize(num,elem);//重新指定容器的長度num,若容器變長,則以elem值填充新位置;如果容器變短,則末尾超出容器長度的元素被刪除
代碼應用:
#include
結果輸出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
0 1 2 3 4 5 6 7 8 9
d1 is not empty
d1 is : 10
0 1 2 3 4 5 6 7 8 9 1 1 1 1 1
0 1 2 3 4
注:deque沒有容量的概念!
五、deque插入和刪除:
1、功能描述:向deque容器中插入和刪除數據
2、函數原型:
(1)兩端插入操作:push_back(elem);//在容器尾部添加一個數據
push_front(elem);//在容器頭部插入一個數據
pop_back();//刪除容器最后一個元素數據
pop_front();//刪除容器第一數據
(2)指定位置操作:
insert(pos,elem);//在pos位置插入一個elem元素的拷貝,返回新數據的位置
insert(pos,n,elem);//在pos位置插入n個elem數據,無返回值
insert(pos,beg,end);//在pos位置插入[beg,end)區間的數據,無返回值
clear();//清空容器的所有數據
erase(beg,end);//刪除[beg,end)區間的數據,返回下一個數據的位置
erase(pos);//刪除pos位置的數據,返回下一個數據的位置
兩端代碼應用:
#include
結果輸出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
200 100 10
100 10
代碼應用:
#include
結果輸出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
1000 200 100 10 20
10000 10000 1000 200 100 10 20
1 2 3 10000 10000 1000 200 100 10 20
代碼應用:
#include
結果輸出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
200 10 20
六、deque數據存取:
1、功能描述:
對deque容器中的數據存取操作
2、函數原型:
at(int idx);//返回索引idx所指的數據
operator[];//返回索引idx所指的數據
front();//返回容器中第一個元素
back();//返回容器中最后數據元素
代碼應用:
#include
結果輸出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
200 100 10 20
the first is : 200
the last is : 20
七、deque排序:
1、功能描述:
利用算法實現對deque容器進行排序
2、算法:
sort(iterator beg,iterator end);//對beg和end區間元素進行排序
代碼應用:
#include
結果輸出:
root@txp-virtual-machine:/home/txp/test2# ./a.out
200 100 10 20
10 20 100 200
-
容器
+關注
關注
0文章
495瀏覽量
22060 -
可編程邏輯
+關注
關注
7文章
515瀏覽量
44083
發布評論請先 登錄
相關推薦
評論