一、什么是 deque?
雙端隊(duì)列(deque)和deque一樣都是STL的容器,deque是雙端數(shù)組,而deque是單端的。跟任意其它類型容器一樣,它能夠存放各種類型的對(duì)象。
二、容器特性
1.順序序列
deque是由多個(gè)連續(xù)內(nèi)存組成的。可以通過(guò)元素在序列中的位置訪問(wèn)對(duì)應(yīng)的元素。
2.動(dòng)態(tài)數(shù)組
支持對(duì)序列中的任意元素進(jìn)行快速直接訪問(wèn)。在前端和末尾添加/刪除元素操作是比較快的。
3.支持隨機(jī)訪問(wèn)迭代器(下一章介紹)
可以用迭代器隨意訪問(wèn)容器
三、基本函數(shù)實(shí)現(xiàn)
1,構(gòu)造函數(shù)
- deque();創(chuàng)建一個(gè)空deque
- deque(int nSize);創(chuàng)建一個(gè)deque,元素個(gè)數(shù)為nSize
- deque(int nSize,const t& t);創(chuàng)建一個(gè)deque,元素個(gè)數(shù)為nSize,且值均為t
- deque(const deque&);復(fù)制構(gòu)造函數(shù)
- deque(begin,end);復(fù)制[begin,end)區(qū)間內(nèi)另一個(gè)數(shù)組的元素到deque中
2.增加函數(shù)
- void push_back(const T& x); 尾部增加一個(gè)元素X
- void push_front(const T& x); 頭部增加一個(gè)元素X
- iterator insert(iterator it,const T& x);隊(duì)列中迭代器指向元素前增加一個(gè)元素x
- iterator insert(iterator it,int n,const T& x);隊(duì)列中迭代器指向元素前增加n個(gè)相同的元素x
- iterator insert(iterator it,const_iterator first,const_iterator last);隊(duì)列中迭代器指向元素前插入另一個(gè)相同類型隊(duì)列的[first,last)間的數(shù)據(jù)
3.刪除函數(shù)
- iterator erase(iterator it);刪除隊(duì)列中迭代器指向元素
- iterator erase(iterator first,iterator last);刪除隊(duì)列中[first,last)中元素
- void pop_back();刪除隊(duì)列中最后一個(gè)元素
- void pop_front();刪除隊(duì)列中的第一個(gè)元素
- void clear();清空隊(duì)列中所有元素
4.遍歷函數(shù)
- reference at(int pos);返回pos位置元素的引用
- reference operator[](int Pos);返回pos位置元素的引用
- reference front();返回首元素的引用
- reference back();返回尾元素的引用
- iterator begin();返回隊(duì)列頭指針,指向第一個(gè)元素
- iterator end();返回隊(duì)列尾指針,指向隊(duì)列最后一個(gè)元素的下一個(gè)位置
- reverse_iterator rbegin();反向迭代器,指向最后一個(gè)元素
- reverse_iterator rend();反向迭代器,指向第一個(gè)元素之前的位置
5.判斷函數(shù)
- bool empty() const;判斷隊(duì)列是否為空,若為空,則隊(duì)列中無(wú)元素
6.大小函數(shù)
- int size() const;返回隊(duì)列中元素的個(gè)數(shù)
- int max_size() const;返回最大可允許的deque元素?cái)?shù)量值
7.其他函數(shù)
- void swap(deque&);交換兩個(gè)同類型隊(duì)列的數(shù)據(jù)
- void assign(int n,const T& x);設(shè)置隊(duì)列中第n個(gè)元素的值為x
- void assign(const_iterator first,const_iterator last);隊(duì)列中[first,last)中元素設(shè)置成當(dāng)前隊(duì)列元素
四、基本用法
//和vector用法基本相同
-
容器
+關(guān)注
關(guān)注
0文章
508瀏覽量
22394 -
隊(duì)列
+關(guān)注
關(guān)注
1文章
46瀏覽量
11056 -
雙端
+關(guān)注
關(guān)注
0文章
6瀏覽量
6533
發(fā)布評(píng)論請(qǐng)先 登錄
c++值deque容器


7101242113047809312_嵌入式物聯(lián)網(wǎng)教程視頻_3.23deque容器的實(shí)現(xiàn)原理

7101242135881551141_嵌入式物聯(lián)網(wǎng)教程視頻_3.24deque容器的api

C++零基礎(chǔ)教程STL容器篇之deque容器,輕松上手C++STL
HarmonyOS方舟開(kāi)發(fā)框架容器類API的介紹與使用
OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——ArkUI容器類API介紹
HarmonyOS線性容器特性及使用場(chǎng)景
夜空中最亮的星——deque容器
OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——ArkUI開(kāi)發(fā)框架容器類API的介紹與使用
C++學(xué)習(xí)筆記之順序容器
雙端隊(duì)列和C++ std::deque的用法說(shuō)明

OpenHarmony語(yǔ)言基礎(chǔ)類庫(kù)【@ohos.util.Deque (線性容器Deque)】

鴻蒙語(yǔ)言基礎(chǔ)類庫(kù):ohos.util.Deque 線性容器Deque

評(píng)論