一、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文章
499瀏覽量
22130 -
可編程邏輯
+關注
關注
7文章
517瀏覽量
44191
發布評論請先 登錄
相關推薦
三星硅電容器已完成量產準備
群芯微電子受邀參加2024年韓國電子展
MT6701磁編碼IC將在工業4.0智能制造中的應用
![MT6701磁編碼IC將在工業4.0智能制造中的應用](https://file1.elecfans.com/web2/M00/FE/A2/wKgaomaeLRiAQ75vAAHb9DwU_S8205.png)
三星貼片電容器容量怎么換算?
MT6835磁編碼IC在工業生產中的液位檢測領域的應用
![MT6835磁編碼IC在工業生產中的液位檢測領域的應用](https://file1.elecfans.com/web2/M00/FE/5A/wKgaomaaM1GAKKsxAAF20IH0Gyc050.png)
鴻蒙語言基礎類庫:ohos.util.Deque 線性容器Deque
![鴻蒙語言基礎類庫:ohos.util.<b class='flag-5'>Deque</b> 線性<b class='flag-5'>容器</b><b class='flag-5'>Deque</b>](https://file1.elecfans.com//web2/M00/FA/6B/wKgZomaNQ_OALb0IAAACSiKnE8w640.jpg)
全球首個星閃指向遙控,智慧家庭新紀元的引領者
新技術融合共生:5G、AI與云計算引領數字經濟時代
安全是最大的豪華!星紀元ET成功挑戰31.9米空中墜落試驗
![安全是最大的豪華!<b class='flag-5'>星</b>紀元ET成功挑戰31.9米<b class='flag-5'>空中</b>墜落試驗](https://file1.elecfans.com//web2/M00/E2/F5/wKgaomY6zYSAZ4_XAAL9qTw9mE8110.png)
OpenHarmony語言基礎類庫【@ohos.util.Deque (線性容器Deque)】
![OpenHarmony語言基礎類庫【@ohos.util.<b class='flag-5'>Deque</b> (線性<b class='flag-5'>容器</b><b class='flag-5'>Deque</b>)】](https://file1.elecfans.com/web2/M00/C5/CD/wKgZomYCdwyAIFf5AAB_7E1pFms943.jpg)
評論