线性结构 —— 栈与队列
生活随笔
收集整理的這篇文章主要介紹了
线性结构 —— 栈与队列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【概述】
stack 和 queue 是在程序設計中經常會用到的數據容器,STL?提供了方便的堆棧、隊列的實現,準確地說,STL 中的 stack 與 queue 不同于 pair、vector 等容器,而是對棧、隊列這三個數據結構的重新包裝。
【stack 的使用】
stack 定義在 <stack> 頭文件中,其提供了堆棧的全部功能,即實現了先進后出的數據結構。
定義:?stack<type> stackName
stack 的基本操作有:
- s.push(x):將元素 x 入棧
- s.pop():將棧頂元素刪除
- s.top():訪問棧頂元素
- s.empty():判斷棧是否為空,當棧為空時返回 true,否則返回 false
- s.size():訪問棧中元素的個數
【queue 的使用】
queue 定義在 <queue> 頭文件中,其提供了隊列的全部功能,即實現了先進先出的數據結構。
定義:queue<type> queueName
queue 的基本操作有:
- q.push(x):入隊,將 x 存入隊列末端
- q.pop():出隊,將隊列的第一個元素彈出
- q.front():訪問隊首元素
- q.back():訪問隊尾元素
- q.empty():判斷隊列是否為空,當隊列為空時返回 true,否則返回 false
- q.size():訪問隊列中元素的個數
【例題】
1.棧
- 后綴表達式的值(信息學奧賽一本通-T1331)(stack 計算后綴表達式):點擊這里
- 計算(信息學奧賽一本通-T1356)(stack 計算中綴表達式):點擊這里
- 中綴表達式值(信息學奧賽一本通-T1358)(stack 計算中綴表達式):點擊這里
- 擴號匹配問題(信息學奧賽一本通-T1203)(stack 匹配括號):點擊這里
- 表達式括號匹配(信息學奧賽一本通-T1353)(stack 匹配括號):點擊這里
- 括弧匹配檢驗(信息學奧賽一本通-T1354)(stack 匹配括號):點擊這里
- 字符串匹配問題(信息學奧賽一本通-T1355)(stack 匹配括號):點擊這里
- Vasya and Books(CF-1073B)(stack+模擬):點擊這里
- 車廂調度(信息學奧賽一本通-T1355)(stack+模擬):點擊這里
- 炫酷雪花(2019??秃偎惴ɑA集訓營 Day5-H)(stack+貪心):點擊這里
- wzoi(2019牛客寒假算法基礎集訓營 Day6-I)(stack+貪心):點擊這里
- Bracket Sequence(CF-223A)(棧的分段統計):點擊這里
- Ultimate Army(Gym-102267I)(雙棧模擬):點擊這里
2.隊列
- 圍圈報數(信息學奧賽一本通-T1334)(queue+模擬):點擊這里
- Dispute(CF-242D)(queue+模擬):點擊這里
- 周末舞會(信息學奧賽一本通-T1332)(隊列思想):點擊這里
- Blash數集(信息學奧賽一本通-T1333)(隊列思想):點擊這里
- 產生數(信息學奧賽一本通-T1361)(隊列思想):點擊這里
總結
以上是生活随笔為你收集整理的线性结构 —— 栈与队列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 畅通工程(HDU-1232)
- 下一篇: Linux 介绍