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