《算法竞赛入门经典》—— 5.2.6 栈、队列与优先队列
生活随笔
收集整理的這篇文章主要介紹了
《算法竞赛入门经典》—— 5.2.6 栈、队列与优先队列
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
棧,是符合“后進先出”(Last In First Out,LIFO)規(guī)則的數(shù)據(jù)結(jié)構(gòu),有PUSH和POP兩種操作,其中PUSH把元素壓入“棧頂”,而POP從棧頂把元素“彈出”。
提示5-14:STL在stack頭文件提供了棧,用“stack s”方式定義,用push()和pop()實現(xiàn)元素的進棧和出棧操作,top()取棧頂元素(但不刪除)。
隊列,是符合“先進先出”(First In First Out,FIFO)原則的“公平隊列”。
提示5-15:STL的queue頭文件提供了隊列,用“queue s”方式定義,用push()和pop()進行元素的入隊和出隊操作,front()取隊首元素(但不刪除)。
優(yōu)先隊列是一種抽象數(shù)據(jù)類型(Abstract Data Type,ADT),行為有些像隊列,但先出隊列的元素不是先進隊列的元素,而是隊列中優(yōu)先級最高的元素。
提示5-16:STL的queue頭文件提供了優(yōu)先隊列,用“priority_queue s”方式定義,用push()和pop()進行元素的入隊和出隊操作,top()取隊首元素(但不刪除)。
自定義類型也可以組成優(yōu)先隊列,但必須為每個元素定義一個優(yōu)先級。這個優(yōu)先級不需要一個確定的數(shù)字,只需要能比較大小即可。
在某些特殊的情況下,需要使用自己定義方式比較優(yōu)先級:
總結(jié)
以上是生活随笔為你收集整理的《算法竞赛入门经典》—— 5.2.6 栈、队列与优先队列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法训练 审美课
- 下一篇: The SetStack Compute