那曲檬骨新材料有限公司

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

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

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

c++之棧和隊(duì)列

嵌入式技術(shù) ? 來源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2023-07-15 08:50 ? 次閱讀

1.stack容器

stack ,棧(堆棧),是一種先進(jìn)后出(First In Last Out,FILO)的數(shù)據(jù)結(jié)構(gòu),先插入的數(shù)據(jù)在棧底,后放入的數(shù)據(jù)在棧頂,所有的數(shù)據(jù)只能從棧頂取出。

在生活中先進(jìn)后出的例子友很多,例如我們?cè)谧雷由限麜确诺脑谧钕旅妫蠓诺脑谧钌厦妗T谌臅r(shí)候也是先取最后放的,最才能取到第一個(gè)放的。

wKgZomSxO8eAeVP5AAPtT7ckrTE867.png

在棧容器中,只有棧頂數(shù)據(jù)才可以被外界訪問,因此stack不存在遍歷。

2.棧容器使用示例

  • stack(棧)容器特性:

先進(jìn)后出(后進(jìn)先出) --類似與往袋子中裝東西,先放進(jìn)去的在最下面,最后放進(jìn)行的可以先拿出來;第一個(gè)放進(jìn)去的 --->棧底

最后一個(gè)放進(jìn)的 --->棧頂

stack只允許從棧頂取數(shù)據(jù)

stack容器無法對(duì)數(shù)據(jù)進(jìn)行排序sort,但可以判斷容器是否為空empty,可以計(jì)算元素的個(gè)數(shù)size;

  • 相關(guān)函數(shù):
stack構(gòu)造函數(shù):
	stack stk; //默認(rèn)構(gòu)造
	stack(const stack &p);//拷貝構(gòu)造
stack賦值
	operator=() --運(yùn)算符號(hào)重載
stack入棧與出棧:
	push() -->入棧
	emplace() -->入棧(在容器尾部插入元素)
	pop() --->出棧
	top() -->查看棧頂元素
	empty() -->判斷容器是否為空
	size()  -->獲取元素個(gè)數(shù)
	swap -->交換元素

使用示例:

#include 
#include 
using namespace std;
void test()
{
	//創(chuàng)建一個(gè)stack容器
	stack stk;
	//入棧
	stk.push(10);
	stk.push(20);
	stk.push(30);
	stk.push(40);
	stk.emplace(100);
	stackstk3(stk);//拷貝構(gòu)造
	cout stk2 = stk;//賦值
	if (stk2.empty())
	{
		cout 
wKgaomSxPPiAf6wEAAPPMhfoUIQ563.png

3.queue容器

隊(duì)列(queue 和堆棧相似,是一種可以存取的數(shù)據(jù)結(jié)構(gòu),不同的是隊(duì)列的存取是在兩個(gè)不同的方向進(jìn)行的,因此其主要特征是先進(jìn)先出(First-in-first-out,FIFO),類似于我們生活中的水管。

wKgaomSxPaOAIMV_AAQVau97g90678.png

4.queue容器使用示例

隊(duì)列只需要從對(duì)尾插入數(shù)據(jù)(入隊(duì),push_back),對(duì)頭取數(shù)據(jù)(出隊(duì),pop_front);

隊(duì)列只能訪問對(duì)頭和隊(duì)尾數(shù)據(jù),其他數(shù)據(jù)需要出隊(duì)才能訪問,所以不存在遍歷隊(duì)列;

返回隊(duì)列頭數(shù)據(jù):front()

返回隊(duì)列尾數(shù)據(jù):back()

  • 相關(guān)函數(shù):
隊(duì)列構(gòu)造函數(shù):
	queue que; //隊(duì)列通過類模板實(shí)現(xiàn),默認(rèn)構(gòu)造函數(shù)
	queue(const queue &p);
	operator=(queue &p)  -->運(yùn)算符重載
相關(guān)成功函數(shù):
	入隊(duì):push()
	出隊(duì):pop()
獲取隊(duì)列頭數(shù)據(jù):front();
獲取隊(duì)列尾數(shù)據(jù):back();
判斷隊(duì)列是否為空:empty();
獲取隊(duì)列中元素個(gè)數(shù):size();
互換元素:swap();

使用示例:

#include 
#include 
using namespace std;
void test()
{
	queue q;
	//入隊(duì)
	q.push(10);
	q.push(20);
	q.push(30);
	q.emplace(40);//從隊(duì)列尾插入數(shù)據(jù)
	cout 
wKgZomSxPmGACvvMAAPMCRBNWzc279.png
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73852
  • 數(shù)據(jù)結(jié)構(gòu)

    關(guān)注

    3

    文章

    573

    瀏覽量

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

    關(guān)注

    1

    文章

    46

    瀏覽量

    10927
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C++STL算法(二)

    C++STL算法(二)
    的頭像 發(fā)表于 07-18 14:49 ?1126次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>之</b>STL算法(二)

    c++STL算法(三)

    c++STL算法(三)
    的頭像 發(fā)表于 07-18 15:00 ?1377次閱讀
    <b class='flag-5'>c++</b><b class='flag-5'>之</b>STL算法(三)

    隊(duì)列C++中的queue詳解

    隊(duì)列就是一種線性的數(shù)據(jù)結(jié)構(gòu),它與日常生活中排隊(duì)的隊(duì)列相似,即先進(jìn)先出(LIFO, First In First Out),這點(diǎn)也是它與(Stack)的最大不同之處。
    的頭像 發(fā)表于 07-18 17:31 ?1778次閱讀
    <b class='flag-5'>隊(duì)列</b>與<b class='flag-5'>C++</b>中的queue詳解

    C++文件操作

    C++文件操作
    的頭像 發(fā)表于 07-21 10:52 ?1151次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>之</b>文件操作

    隊(duì)列

    隊(duì)列:1、隊(duì)列定義:限定僅只能在表尾端進(jìn)行插入和刪除的線性表。頂:表尾端被稱之為頂。
    發(fā)表于 08-13 13:50 ?0次下載

    你還會(huì)手寫隊(duì)列隊(duì)列的基本實(shí)現(xiàn)程序說明

    昨天跟一個(gè)CSDN上的朋友聊天,他說現(xiàn)在如果讓他自己手寫一個(gè)或者隊(duì)列,估計(jì)都要寫蠻久的,平時(shí)雖然都在用,但是都是別人封裝好的集合。確實(shí),經(jīng)典的數(shù)據(jù)結(jié)構(gòu),包括排序算法,雖然我們平時(shí)不用手寫了,但是
    的頭像 發(fā)表于 11-11 11:34 ?2846次閱讀

    深入淺出了解單調(diào)和單調(diào)隊(duì)列

    袁廚攜袁記菜館全體工作人員祝大家在新的一年,健健康康,開開心心。發(fā)量暴增,錢包超大。 哎,元旦假期結(jié)束了,又要繼續(xù)搬磚了,我們接著做題吧,今天我們好好說說單調(diào)和單調(diào)隊(duì)列。其實(shí)很容易理解,單調(diào)就是
    的頭像 發(fā)表于 02-02 10:18 ?1526次閱讀
    深入淺出了解單調(diào)<b class='flag-5'>棧</b>和單調(diào)<b class='flag-5'>隊(duì)列</b>

    隊(duì)列實(shí)現(xiàn)原理是什么?隊(duì)列實(shí)現(xiàn)方案有哪幾種?

    是一種后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),而隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),兩者原理不難理解,使用也簡(jiǎn)單。
    的頭像 發(fā)表于 07-04 13:28 ?2801次閱讀
    <b class='flag-5'>隊(duì)列</b>實(shí)現(xiàn)<b class='flag-5'>棧</b>原理是什么?<b class='flag-5'>隊(duì)列</b>實(shí)現(xiàn)<b class='flag-5'>棧</b>方案有哪幾種?

    簡(jiǎn)述Labview使用隊(duì)列的區(qū)別

    簡(jiǎn)述Labview使用隊(duì)列的區(qū)別
    發(fā)表于 01-19 09:50 ?9次下載

    C++設(shè)計(jì)新思維-泛型編程與設(shè)計(jì)應(yīng)用

    C++設(shè)計(jì)新思維-泛型編程與設(shè)計(jì)應(yīng)用
    發(fā)表于 11-16 15:59 ?3次下載

    C++學(xué)習(xí)筆記c++的基本認(rèn)識(shí)

    自這篇文章我們即將開始C++的奇幻之旅,其內(nèi)容主要是讀C++ Primer的總結(jié)和筆記,有興趣可以找原版書看看,對(duì)于學(xué)習(xí)C++還是有很大幫助的。這篇文章將從一個(gè)經(jīng)典的程序開始介紹C++
    的頭像 發(fā)表于 03-17 13:57 ?765次閱讀

    利用C++提供的隊(duì)列封裝一個(gè)消息隊(duì)列

    最近的C++項(xiàng)目中,需要用到消息隊(duì)列,但是C++中又沒有原生的消息隊(duì)列,就在網(wǎng)上找了一下相關(guān)資料,利用C++提供的
    的頭像 發(fā)表于 05-20 15:16 ?1973次閱讀
    利用<b class='flag-5'>C++</b>提供的<b class='flag-5'>隊(duì)列</b>封裝一個(gè)消息<b class='flag-5'>隊(duì)列</b>

    數(shù)據(jù)結(jié)構(gòu)隊(duì)列,串介紹

    隊(duì)列不再過多描述,了解入規(guī)則,入隊(duì)出隊(duì)規(guī)則,的遞歸應(yīng)用即可,面試肯定不會(huì)考這種概念,太簡(jiǎn)單。
    的頭像 發(fā)表于 05-26 14:35 ?556次閱讀
    數(shù)據(jù)結(jié)構(gòu)<b class='flag-5'>之</b><b class='flag-5'>棧</b>,<b class='flag-5'>隊(duì)列</b>,串介紹

    兩個(gè)實(shí)現(xiàn)一個(gè)隊(duì)列方法

    隊(duì)列是比較基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)。無論在工作中,還是在面試中,隊(duì)列都用的比較多。在計(jì)算機(jī)的世界,你會(huì)看到隊(duì)列
    的頭像 發(fā)表于 10-08 15:54 ?851次閱讀

    C++之父新作帶你勾勒現(xiàn)代C++地圖

    為了幫助大家解決這些痛點(diǎn)問題,讓大家領(lǐng)略現(xiàn)代C++美,掌握其中的精髓,更好地使用C++C++之父Bjarne Stroustrup坐不住了,他親自操刀寫就了這本《
    的頭像 發(fā)表于 10-30 16:35 ?966次閱讀
    <b class='flag-5'>C++</b>之父新作帶你勾勒現(xiàn)代<b class='flag-5'>C++</b>地圖
    若尔盖县| 澳门博彩公司| 百家乐官网买闲打法| 没费用百家乐分析器| 百家乐官网赢钱绝技| 哪家百家乐官网优惠最好且信誉不错| 百家乐实时赌博| 百家乐官网如何投注技巧| 百家乐智能系统| 百家乐官网投注综合分析法| 百家乐桌子黑色| 网上百家乐官网能作弊吗| 百家乐建材| 百家乐官网新送彩金| 535棋牌游戏| 百家乐账号变动原因| 百家乐官网游戏算牌| 威尼斯人娱乐场 28| 大赢家百家乐官网的玩法技巧和规则 | 百家乐官网单跳打法| 百家乐押注最多是多少| 百家乐官网走势图| 本溪亿酷棋牌下载| 百家乐规则澳门| 百家乐官网游戏免费| 大发888娱乐场客户端下载| 金赞百家乐官网的玩法技巧和规则 | 永兴县| 百家乐博娱乐网赌百家乐的玩法技巧和规则 | 百家乐园云鼎赌场娱乐网规则| 中华百家乐官网的玩法技巧和规则 | 大发888下载不了| 百家乐视频世界| 网上玩百家乐官网技巧| 波克棋牌官网| 米其林百家乐的玩法技巧和规则| 百家乐官网出牌规| 博彩论坛交流中心| 百家乐7scs娱乐平台| 百家乐官网在线赌场娱乐网规则 | 百家乐怎么开户|