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

c++中queue用法超詳細(xì)講解(入門必看!)

 更新時(shí)間:2022年10月31日 12:37:07   作者:舊林墨煙  
queue是一種容器轉(zhuǎn)換器模板,調(diào)用#include< queue>即可使用隊(duì)列類,下面這篇文章主要給大家介紹了關(guān)于c++中queue用法超詳細(xì)講解的相關(guān)資料,需要的朋友可以參考下

1、queue的作用

說(shuō)到queue,大家一定會(huì)想到stack,同樣是簡(jiǎn)單易用的數(shù)據(jù)結(jié)構(gòu)之一。queue就是隊(duì)列的意思,像大家日常排隊(duì)一樣,先排的人先用。stack則是相反的,后來(lái)的先用。這就有了queue先進(jìn)先出,stack后進(jìn)先出的說(shuō)法。

queue是一個(gè)很簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu),但是卻非常實(shí)用,同時(shí)也是必不可少的,其它的數(shù)據(jù)結(jié)構(gòu)都無(wú)法替代隊(duì)列。

queue常用于模仿隊(duì)列,在算法中比較常用的有單調(diào)隊(duì)列算法

相信看完本文就能上手使用了

2、queue的定義

queue<儲(chǔ)存的類型> 容器名

如:

儲(chǔ)存int型數(shù)據(jù)的隊(duì)列 queue q;

儲(chǔ)存double型數(shù)據(jù)的隊(duì)列 queue q;

儲(chǔ)存string型數(shù)據(jù)的隊(duì)列 queue q;

儲(chǔ)存結(jié)構(gòu)體或者類的隊(duì)列 queue<結(jié)構(gòu)體名> q;

3、queue的成員函數(shù)

back() //返回最后一個(gè)元素 
empty() //如果隊(duì)列空則返回真 
front() //返回第一個(gè)元素 
pop() //刪除第一個(gè)元素 
push() //在末尾加入一個(gè)元素 
size() //返回隊(duì)列中元素的個(gè)數(shù) 

示例代碼:

#include<iostream>//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)庫(kù)函數(shù) 
#include<queue>//使用queue時(shí)需要的頭文件 
using namespace std;//命名空間,防止重名給程序帶來(lái)各種隱患,使用cin,cout,stack,map,set,vector,queue時(shí)都要使用
int main(){
	queue<int> q;//定義一個(gè)int類型的隊(duì)列
	
	q.push(1);//在隊(duì)尾添加元素1 
	q.push(2);//在隊(duì)尾添加元素2
	q.push(3);//在隊(duì)尾添加元素3
	cout<<"插入元素1、2、3后,目前隊(duì)列中的元素:1 2 3"<<endl;
	cout<<"q.size()="<<q.size()<<endl;//q.size()查看目前隊(duì)列中的元素個(gè)數(shù) 
	cout<<"q.empty()="<<q.empty()<<endl;//查看隊(duì)列是否為空,1即為空,0即非空 
	cout<<"q.front()="<<q.front()<<endl; //查看隊(duì)首元素 
	
	cout<<endl; 
	q.pop();//隊(duì)首元素出隊(duì)
	cout<<"q.pop()后,目前隊(duì)列中的元素:2 3 "<<endl; 
	cout<<"q.size()="<<q.size()<<endl;//q.size()查看目前隊(duì)列中的元素個(gè)數(shù) 
	cout<<"q.empty()="<<q.empty()<<endl;//查看隊(duì)列是否為空,1即為空,0即非空 
	cout<<"q.front()="<<q.front()<<endl; //查看隊(duì)首元素 

	cout<<endl; 
	q.pop();//隊(duì)首元素出隊(duì)
	cout<<"q.pop()后,目前隊(duì)列中的元素:3" <<endl; 
	cout<<"q.size()="<<q.size()<<endl;//q.size()查看目前隊(duì)列中的元素個(gè)數(shù) 
	cout<<"q.empty()="<<q.empty()<<endl;//查看隊(duì)列是否為空,1即為空,0即非空 
	cout<<"q.front()="<<q.front()<<endl; //查看隊(duì)首元素 
	
	cout<<endl; 
	q.pop();//隊(duì)首元素出隊(duì)
	cout<<"q.pop()后,目前隊(duì)列是空的"<<endl; 
	cout<<"q.size()="<<q.size()<<endl;//q.size()查看目前隊(duì)列中的元素個(gè)數(shù) 
	cout<<"q.empty()="<<q.empty()<<endl;//查看隊(duì)列是否為空,1即為空,0即非空 
	cout<<"隊(duì)列是空的時(shí)候?qū)⒉荒苡胵.front()查看隊(duì)首元素" <<endl; 

}

運(yùn)行結(jié)果:

插入元素1、2、3后,目前隊(duì)列中的元素:1 2 3
q.size()=3
q.empty()=0
q.front()=1

q.pop()后,目前隊(duì)列中的元素:2 3
q.size()=2
q.empty()=0
q.front()=2

q.pop()后,目前隊(duì)列中的元素:3
q.size()=1
q.empty()=0
q.front()=3

q.pop()后,目前隊(duì)列是空的
q.size()=0
q.empty()=1
隊(duì)列是空的時(shí)候?qū)⒉荒苡胵.front()查看隊(duì)首元素

queue和stack都是不能隨機(jī)訪問(wèn)的,即通過(guò)下標(biāo)訪問(wèn)元素,也不能遍歷

至此隊(duì)列的基本用法就學(xué)完咯

是不是很簡(jiǎn)單呢?

剛接觸肯定會(huì)覺得難,多些做題多些用,熟悉了就容易了,兄弟萌,加油?。?!

總結(jié)

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

相關(guān)文章

  • C++中priority_queue與仿函數(shù)實(shí)現(xiàn)方法

    C++中priority_queue與仿函數(shù)實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于C++中priority_queue與仿函數(shù)實(shí)現(xiàn)的相關(guān)資料,優(yōu)先級(jí)隊(duì)列是一種容器適配器,其底層通常采用vector容器,并通過(guò)堆算法來(lái)維護(hù)元素的順序,文中通過(guò)代碼介紹的非常詳細(xì)《》需要的朋友可以參考下
    2024-10-10
  • QT生成隨機(jī)驗(yàn)證碼的方法

    QT生成隨機(jī)驗(yàn)證碼的方法

    這篇文章主要為大家詳細(xì)介紹了QT生成隨機(jī)驗(yàn)證碼的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C++實(shí)例詳解lambda表達(dá)式的使用

    C++實(shí)例詳解lambda表達(dá)式的使用

    Lambda表達(dá)式是現(xiàn)代C++在C ++ 11和更高版本中的一個(gè)新的語(yǔ)法糖 ,在C++11、C++14、C++17和C++20中Lambda表達(dá)的內(nèi)容還在不斷更新。 lambda表達(dá)式(也稱為lambda函數(shù))是在調(diào)用或作為函數(shù)參數(shù)傳遞的位置處定義匿名函數(shù)對(duì)象的便捷方法
    2022-05-05
  • C語(yǔ)言實(shí)現(xiàn)24點(diǎn)游戲計(jì)算器的示例代碼

    C語(yǔ)言實(shí)現(xiàn)24點(diǎn)游戲計(jì)算器的示例代碼

    24點(diǎn)是一種益智游戲,24點(diǎn)是把4個(gè)整數(shù)(一般是正整數(shù))通過(guò)加減乘除以及括號(hào)運(yùn)算,使最后的計(jì)算結(jié)果是24的一個(gè)數(shù)學(xué)游戲,24點(diǎn)可以考驗(yàn)人的智力和數(shù)學(xué)敏感性,它能在游戲中提高人們的心算能力。本文將用C語(yǔ)言實(shí)現(xiàn)這一游戲,感興趣的可以了解一下
    2022-08-08
  • C++ 遞歸遍歷文件并計(jì)算MD5的實(shí)例代碼

    C++ 遞歸遍歷文件并計(jì)算MD5的實(shí)例代碼

    在本篇文章里小編給大家整理的是一篇關(guān)于C++ 遞歸遍歷文件并計(jì)算MD5的實(shí)例代碼,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-07-07
  • C語(yǔ)言動(dòng)態(tài)內(nèi)存規(guī)劃詳解

    C語(yǔ)言動(dòng)態(tài)內(nèi)存規(guī)劃詳解

    這篇文章主要介紹了C語(yǔ)言動(dòng)態(tài)內(nèi)存的規(guī)劃,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • C語(yǔ)言實(shí)現(xiàn)手寫Map(全功能)的示例代碼

    C語(yǔ)言實(shí)現(xiàn)手寫Map(全功能)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C語(yǔ)言實(shí)現(xiàn)手寫Map(全功能),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C語(yǔ)言有一定幫助,需要的可以參考一下
    2022-08-08
  • C++中std::string::npos的用法

    C++中std::string::npos的用法

    這篇文章主要介紹了C++中std::string::npos的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 嵌入式C語(yǔ)言二級(jí)指針在鏈表中的應(yīng)用

    嵌入式C語(yǔ)言二級(jí)指針在鏈表中的應(yīng)用

    這篇文章主要為大家介紹了嵌入式C語(yǔ)言二級(jí)指針在鏈表中的應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • C++實(shí)現(xiàn)騎士走棋盤算法

    C++實(shí)現(xiàn)騎士走棋盤算法

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)騎士走棋盤算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評(píng)論

道真| 渭源县| 和田县| 屯门区| 象州县| 米泉市| 班玛县| 永修县| 绩溪县| 天长市| 山阴县| 朝阳区| 蒲城县| 通渭县| 遂川县| 金门县| 怀来县| 杂多县| 驻马店市| 扶余县| 安国市| 邵武市| 达州市| 西藏| 余庆县| 司法| 嘉鱼县| 澄江县| 武邑县| 大埔县| 水城县| 浦东新区| 锦屏县| 海淀区| 克拉玛依市| 余庆县| 基隆市| 呈贡县| 筠连县| 南江县| 虞城县|