【數(shù)據(jù)結構】stack-數(shù)據(jù)結構

1遂鹊、stack

stack 模板類的定義在頭文件《stack》中飞袋。

stack 模板類需要兩個模板參數(shù),一個是元素類型句各,一個容器類型吸占,但只有元素類型是必要

的,在不指定容器類型時凿宾,默認的容器類型為deque矾屯。

定義stack 對象的示例代碼如下:stack s1;

stack 的基本操作有:

入棧,如例:s.push(x);

出棧初厚,如例:s.pop();注意件蚕,出棧操作只是刪除棧頂元素,并不返回該元素产禾。

訪問棧頂排作,如例:s.top()

判斷棧空下愈,如例:s.empty()纽绍,當棧空時势似,返回true拌夏。

訪問棧中的元素個數(shù)僧著,如例:s.size()。

2障簿、queue

queue 模板類的定義在頭文件中盹愚。

與stack 模板類很相似,queue 模板類也需要兩個模板參數(shù)站故,一個是元素類型皆怕,一個容器類

型,元素類型是必要的西篓,容器類型是可選的愈腾,默認為deque 類型。

定義queue 對象的示例代碼如下:

queue q1;

queue 的基本操作有:

入隊岂津,如例:q.push(x); 將x 接到隊列的末端虱黄。

出隊,如例:q.pop(); 彈出隊列的第一個元素吮成,注意橱乱,并不會返回被彈出元素的值。

訪問隊首元素粱甫,如例:q.front()泳叠,即最早被壓入隊列的元素。

訪問隊尾元素茶宵,如例:q.back()危纫,即最后被壓入隊列的元素。

判斷隊列空乌庶,如例:q.empty()叶摄,當隊列空時,返回true安拟。

訪問隊列中的元素個數(shù)蛤吓,如例:q.size()

3、priority_queue

在<queue>頭文件中糠赦,還定義了另一個非常有用的模板類priority_queue(優(yōu)先隊列)会傲。優(yōu)先隊

列與隊列的差別在于優(yōu)先隊列不是按照入隊的順序出隊,而是按照隊列中元素的優(yōu)先權順序

出隊(默認為大者優(yōu)先拙泽,也可以通過指定算子來指定自己的優(yōu)先順序)淌山。

priority_queue 模板類有三個模板參數(shù),第一個是元素類型顾瞻,第二個容器類型泼疑,第三個是比

較算子。其中后兩個都可以省略荷荤,默認容器為vector退渗,默認算子為less移稳,即小的往前排,大

的往后排(出隊時序列尾的元素出隊)

priority_queue q1;

priority_queue< pair > q2; // 注意在兩個尖括號之間一定要留空格会油。

priority_queue,greater > q3; //定義小的先出隊

priority_queue 的基本操作與queue 相同个粱。

初學者在使用priority_queue 時,最困難的可能就是如何定義比較算子了翻翩。

如果是基本數(shù)據(jù)類型都许,或已定義了比較運算符的類,可以直接用STL 的less 算子和greater

算子——默認為使用less 算子嫂冻,即小的往前排胶征,大的先出隊。

如果要定義自己的比較算子桨仿,方法有多種弧烤,這里介紹其中的一種:重載比較運算符。優(yōu)先隊

列試圖將兩個元素x 和y 代入比較運算符(對less 算子蹬敲,調(diào)用xy),

若結果為真莺戒,則x 排在y 前面伴嗡,y 將先于x 出隊,反之从铲,則將y 排在x 前面瘪校,x 將先出隊。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末名段,一起剝皮案震驚了整個濱河市阱扬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伸辟,老刑警劉巖麻惶,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異信夫,居然都是意外死亡窃蹋,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門静稻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來警没,“玉大人,你說我怎么就攤上這事振湾∩奔#” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵押搪,是天一觀的道長树酪。 經(jīng)常有香客問我浅碾,道長,這世上最難降的妖魔是什么嗅回? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任及穗,我火速辦了婚禮,結果婚禮上绵载,老公的妹妹穿的比我還像新娘埂陆。我一直安慰自己,他們只是感情好娃豹,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布焚虱。 她就那樣靜靜地躺著,像睡著了一般懂版。 火紅的嫁衣襯著肌膚如雪鹃栽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天躯畴,我揣著相機與錄音民鼓,去河邊找鬼。 笑死蓬抄,一個胖子當著我的面吹牛丰嘉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嚷缭,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼饮亏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了阅爽?” 一聲冷哼從身側響起路幸,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎付翁,沒想到半個月后简肴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡百侧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年着帽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片移层。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡仍翰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出观话,到底是詐尸還是另有隱情予借,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站灵迫,受9級特大地震影響秦叛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瀑粥,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一挣跋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧狞换,春花似錦避咆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至黄琼,卻和暖如春樊销,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脏款。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工围苫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人撤师。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓剂府,卻偏偏與公主長得像,于是被迫代替她去往敵國和親丈氓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 容器的概念所謂STL容器强法,即是將最常運用的一些數(shù)據(jù)結構(data structures)實現(xiàn)出來万俗。容器是指容納特定...
    飯飯H閱讀 380評論 0 0
  • 360真題 http://discuss.acmcoder.com/topic/58cd31e475bf559a0...
    大海一滴寫字的地方閱讀 1,437評論 0 0
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,135評論 30 470
  • 多線程、特別是NSOperation 和 GCD 的內(nèi)部原理饮怯。運行時機制的原理和運用場景闰歪。SDWebImage的原...
    LZM輪回閱讀 2,004評論 0 12
  • 史上最全的iOS面試題及答案 iOS面試小貼士———————————————回答好下面的足夠了----------...
    Style_偉閱讀 2,346評論 0 35