最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文帶你了解C++中queue的使用

 更新時(shí)間:2023年04月30日 09:07:44   作者:碼出世界的淡水魚  
C++中的queue是一種容器,用于在FIFO(先進(jìn)先出)原則下存儲(chǔ)和管理元素。本篇文章將深入探討C++中的queue,包括它的定義、使用、原理和示例,感興趣的可以了解一下

一、queue的定義

queue是一個(gè)類模板。它包含在頭文件中。其定義形式如下:

template <class T, class Container = deque<T>> class queue;

其中,T表示元素類型,Container表示用于存儲(chǔ)元素的底層容器類型。默認(rèn)情況下,底層容器是std::deque。

二、queue的使用

queue的常用操作包括入隊(duì)、出隊(duì)、訪問隊(duì)首元素和隊(duì)尾元素。下面分別介紹它們的函數(shù)接口及其示例。

1.入隊(duì)操作

void push (const value_type& val);

在隊(duì)列末尾添加一個(gè)元素,并將隊(duì)列大小加1。

示例:

#include <iostream>
#include <queue>
using namespace std;
int main()
{
    queue<int> q;
    q.push(1);  //添加元素1
    q.push(2);  //添加元素2
    q.push(3);  //添加元素3
    cout << "隊(duì)列中的元素:";
    while (!q.empty())  //循環(huán)輸出隊(duì)列中的元素
    {
        cout << q.front() << " ";
        q.pop();  //出隊(duì)
    }
    cout << endl;
    return 0;
}

輸出結(jié)果為:

隊(duì)列中的元素:1 2 3 

2.出隊(duì)操作

void pop();

移除隊(duì)列中的第一個(gè)元素,并將隊(duì)列大小減1。

示例:

#include <iostream>
#include <queue>
using namespace std;
int main()
{
    queue<int> q;
    q.push(1);  //添加元素1
    q.push(2);  //添加元素2
    q.push(3);  //添加元素3
    cout << "隊(duì)列中的元素:";
    while (!q.empty())  //循環(huán)輸出隊(duì)列中的元素
    {
        cout << q.front() << " ";
        q.pop();  //出隊(duì)
    }
    cout << endl;
    return 0;
}

輸出結(jié)果為:

隊(duì)列中的元素:1 2 3 

3.訪問隊(duì)首元素

const_reference front() const;

返回隊(duì)列中第一個(gè)元素的引用。

示例:

#include <iostream>
#include <queue>
using namespace std;
int main()
{
    queue<int> q;
    q.push(1);  //添加元素1
    q.push(2);  //添加元素2
    q.push(3);  //添加元素3
    cout << "隊(duì)首元素:" << q.front() << endl;
    return 0;
}

輸出結(jié)果為:

隊(duì)首元素:1

4.訪問隊(duì)尾元素

const_reference back() const;

返回隊(duì)列中最后一個(gè)元素的引用。

示例:

#include <iostream>
#include <queue>
using namespace std;
int main()
{
    queue<int> q;
    q.push(1);  //添加元素1
    q.push(2);  //添加元素2
    q.push(3);  //添加元素3
    cout << "隊(duì)尾元素:" << q.back() << endl;
    return 0;
}

輸出結(jié)果為:

隊(duì)尾元素:3

三、queue的原理

queue的底層容器通常是一個(gè)std::deque,即雙端隊(duì)列。由于std::deque支持高效的隨機(jī)訪問,并且在兩端添加/刪除元素的復(fù)雜度為常數(shù)級別,因此是作為queue的底層容器的最佳選擇。

queue定義了front、back、push_back、pop_front等成員函數(shù),這些成員函數(shù)都是通過std::deque進(jìn)行實(shí)現(xiàn)的。queue僅僅是std::deque的容器適配器,簡化了std::deque的接口,將其變成了一個(gè)標(biāo)準(zhǔn)容器。

四、queue的示例

下面通過一個(gè)示例來說明queue的用法。

定義一個(gè)隊(duì)列,使用push方法添加元素,使用front方法和back方法分別獲取隊(duì)首和隊(duì)尾元素,使用pop方法刪除隊(duì)首元素。

#include <iostream>
#include <queue>
using namespace std;
int main()
{
    queue<int> q;
    q.push(1);
    q.push(2);
    q.push(3);
    cout << "隊(duì)列中的元素:";
    while (!q.empty())
    {
        cout << q.front() << " ";
        q.pop();
    }
    cout << endl;
    return 0;
}

輸出結(jié)果為:

隊(duì)列中的元素:1 2 3 

到此這篇關(guān)于一文帶你了解C++中queue的使用的文章就介紹到這了,更多相關(guān)C++ queue內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言深入了解自定義數(shù)據(jù)類型的使用

    C語言深入了解自定義數(shù)據(jù)類型的使用

    這篇文章主要給大家介紹了關(guān)于C語言自定義數(shù)據(jù)類型的結(jié)構(gòu)體、枚舉和聯(lián)合的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • C++?使用getline()從文件中讀取一行字符串方法示例

    C++?使用getline()從文件中讀取一行字符串方法示例

    這篇文章主要介紹了C++?使用getline()從文件中讀取一行字符串方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • C++中可以接受任意多個(gè)參數(shù)的函數(shù)定義方法(詳解)

    C++中可以接受任意多個(gè)參數(shù)的函數(shù)定義方法(詳解)

    下面小編就為大家?guī)硪黄狢++中可以接受任意多個(gè)參數(shù)的函數(shù)定義方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • 利用C語言解決八皇后問題以及解析

    利用C語言解決八皇后問題以及解析

    這篇文章主要給大家介紹了關(guān)于利用C語言解決八皇后問題以及解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • mfc文件操作CFile類之創(chuàng)建文件的方法

    mfc文件操作CFile類之創(chuàng)建文件的方法

    這篇文章主要介紹了mfc文件操作CFile類之創(chuàng)建文件的方法,需要的朋友可以參考下
    2019-04-04
  • cocos2dx實(shí)現(xiàn)橡皮擦效果以及判斷是否擦除完畢

    cocos2dx實(shí)現(xiàn)橡皮擦效果以及判斷是否擦除完畢

    這篇文章主要為大家詳細(xì)介紹了cocos2dx實(shí)現(xiàn)橡皮擦效果以及判斷是否擦除完畢,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C語言計(jì)算器的3種實(shí)現(xiàn)方法代碼

    C語言計(jì)算器的3種實(shí)現(xiàn)方法代碼

    這篇文章主要給大家介紹了關(guān)于C語言計(jì)算器的3種實(shí)現(xiàn)方法,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一的參考借鑒價(jià)值,需要的朋友可以參考下
    2007-01-01
  • 詳解C++ 共享數(shù)據(jù)保護(hù)機(jī)制

    詳解C++ 共享數(shù)據(jù)保護(hù)機(jī)制

    這篇文章主要介紹了詳解C++ 共享數(shù)據(jù)保護(hù)機(jī)制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下
    2021-02-02
  • 淺談C++中virtual的三種用法

    淺談C++中virtual的三種用法

    這篇文章主要介紹了淺談C++中virtual的三種用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 二分查找算法在C/C++程序中的應(yīng)用示例

    二分查找算法在C/C++程序中的應(yīng)用示例

    這篇文章主要介紹了二分查找算法在C/C++程序中的使用示例,文中最后提到了使用二分查找法一個(gè)需要注意的地方,需要的朋友可以參考下
    2016-03-03

最新評論

广丰县| 隆德县| 定西市| 普兰店市| 宜州市| 基隆市| 抚远县| 民县| 陆丰市| 确山县| 枣庄市| 鸡西市| 专栏| 曲松县| 合作市| 镇远县| 嘉峪关市| 三门峡市| 嘉善县| 宕昌县| 昭平县| 讷河市| 昌平区| 梁平县| 准格尔旗| 西乡县| 绍兴县| 灵台县| 古蔺县| 霍林郭勒市| 大理市| 望奎县| 苍溪县| 三河市| 兴宁市| 裕民县| 陆河县| 读书| 霍邱县| 比如县| 科技|