一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是deque?

汽車電子技術(shù) ? 來源:C語言Plus ? 作者:Maye426 ? 2023-02-27 15:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、什么是 deque?

雙端隊(duì)列(deque)和deque一樣都是STL的容器,deque是雙端數(shù)組,而deque是單端的。跟任意其它類型容器一樣,它能夠存放各種類型的對(duì)象。

二、容器特性

1.順序序列

deque是由多個(gè)連續(xù)內(nèi)存組成的??梢酝ㄟ^元素在序列中的位置訪問對(duì)應(yīng)的元素。

2.動(dòng)態(tài)數(shù)組

支持對(duì)序列中的任意元素進(jìn)行快速直接訪問。在前端和末尾添加/刪除元素操作是比較快的。

3.支持隨機(jī)訪問迭代器(下一章介紹)

可以用迭代器隨意訪問容器

三、基本函數(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ì)列中無元素

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用法基本相同
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    509

    瀏覽量

    22408
  • 隊(duì)列
    +關(guān)注

    關(guān)注

    1

    文章

    46

    瀏覽量

    11066
  • 雙端
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6536
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    c++值deque容器

    deque 是 double-ended queue 的縮寫,又稱雙端隊(duì)列容器。deque容器支持從頭部和尾部雙端插入、刪除數(shù)據(jù)。與vector容器不同的是,vector容器是一段連續(xù)的空間,而
    的頭像 發(fā)表于 07-14 08:49 ?1463次閱讀
    c++值<b class='flag-5'>deque</b>容器

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

    嵌入式開發(fā)指南
    小凡
    發(fā)布于 :2022年08月30日 08:37:51

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

    嵌入式API開發(fā)指南
    小凡
    發(fā)布于 :2022年08月30日 08:45:18

    C++零基礎(chǔ)教程STL容器篇之deque容器,輕松上手C++STL

    編程語言C++語言
    電子學(xué)習(xí)
    發(fā)布于 :2023年01月14日 11:41:55

    HarmonyOS方舟開發(fā)框架容器類API的介紹與使用

    通過數(shù)組實(shí)現(xiàn),包括ArrayList、Vector、List、LinkedList、Deque、Queue、Stack七種。線性容器類API,充分考慮了數(shù)據(jù)訪問的速度,實(shí)現(xiàn)了運(yùn)行時(shí)(Runtime)通過
    發(fā)表于 03-07 11:40

    OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——ArkUI容器類API介紹

    及使用場景。下面,我們將為大家一一道來。1.1線性容器類線性容器類底層主要通過數(shù)組實(shí)現(xiàn),包括 ArrayList、Vector、List、LinkedList、Deque、Queue、Stack 七種
    發(fā)表于 04-24 14:58

    HarmonyOS線性容器特性及使用場景

    線性容器實(shí)現(xiàn)能按順序訪問的數(shù)據(jù)結(jié)構(gòu),其底層主要通過數(shù)組實(shí)現(xiàn),包括ArrayList、Vector、List、LinkedList、Deque、Queue、Stack七種。 線性容器,充分考慮了數(shù)據(jù)
    發(fā)表于 09-27 15:10

    夜空中最亮的星——deque容器

    一、deque工作原理:deque容器內(nèi)部有個(gè)中控器,維護(hù)每段緩沖區(qū)中的內(nèi)容,緩沖區(qū)中存放真實(shí)數(shù)據(jù);中控器維護(hù)的每個(gè)緩沖區(qū)的地址,使得使用deque時(shí)像一片連續(xù)的內(nèi)存空間,如下圖所示:二、de
    的頭像 發(fā)表于 12-24 14:42 ?551次閱讀

    OpenHarmony 3.1 Beta版本關(guān)鍵特性解析——ArkUI開發(fā)框架容器類API的介紹與使用

    線性容器類底層主要通過數(shù)組實(shí)現(xiàn),包括 ArrayList、Vector、List、LinkedList、Deque、Queue、Stack 七種。線性容器類 API,充分考慮了數(shù)據(jù)訪問的速度,實(shí)現(xiàn)了運(yùn)行時(shí)(Runtime)通過一條指令就可以完成增刪改查等操作。
    的頭像 發(fā)表于 03-17 10:48 ?1032次閱讀

    什么是queue?

    queue 容器,又稱隊(duì)列容器,是簡單地裝飾deque容器而成為另外的一種容器。
    的頭像 發(fā)表于 02-27 15:43 ?2271次閱讀

    什么是stack?

    stack 容器,又稱棧容器,是簡單地裝飾deque容器而成為另外的一種容器。
    的頭像 發(fā)表于 02-27 15:51 ?3686次閱讀

    C++學(xué)習(xí)筆記之順序容器

    C++中的順序容器是一種用于存儲(chǔ)和管理元素序列的數(shù)據(jù)結(jié)構(gòu)。它們提供了一組有序的元素,并支持在序列的任意位置插入和刪除元素。C++標(biāo)準(zhǔn)庫中提供了多種順序容器,包括vector、deque、list、forward_list和array。
    的頭像 發(fā)表于 05-11 17:05 ?834次閱讀

    雙端隊(duì)列和C++ std::deque的用法說明

    雙端隊(duì)列實(shí)際上是隊(duì)列的一種變形,隊(duì)列要求只能在隊(duì)尾添加元素,在隊(duì)頭刪除元素,而雙端隊(duì)列在隊(duì)頭和隊(duì)尾都可以進(jìn)行添加和刪除元素的操作。
    的頭像 發(fā)表于 07-18 17:43 ?969次閱讀
    雙端隊(duì)列和C++ std::<b class='flag-5'>deque</b>的用法說明

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

    Deque(double ended queue)根據(jù)循環(huán)隊(duì)列的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn),符合先進(jìn)先出以及先進(jìn)后出的特點(diǎn),支持兩端的元素插入和移除。Deque會(huì)根據(jù)實(shí)際需要?jiǎng)討B(tài)調(diào)整容量,每次進(jìn)行兩倍擴(kuò)容。
    的頭像 發(fā)表于 04-25 21:17 ?343次閱讀
    OpenHarmony語言基礎(chǔ)類庫【@ohos.util.<b class='flag-5'>Deque</b> (線性容器<b class='flag-5'>Deque</b>)】

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

    Deque(double ended queue)根據(jù)循環(huán)隊(duì)列的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn),符合先進(jìn)先出以及先進(jìn)后出的特點(diǎn),支持兩端的元素插入和移除。Deque會(huì)根據(jù)實(shí)際需要?jiǎng)討B(tài)調(diào)整容量,每次進(jìn)行兩倍擴(kuò)容。
    的頭像 發(fā)表于 07-10 09:19 ?393次閱讀
    鴻蒙語言基礎(chǔ)類庫:ohos.util.<b class='flag-5'>Deque</b> 線性容器<b class='flag-5'>Deque</b>