list、stack 與 queue 的使用
阿新 • • 發佈:2019-01-14
【概述】
list、stack 和 queue 是在程式設計中經常會用到的資料容器,STL 提供了方便的連結串列、堆疊、佇列的實現,準確地說,STL 中的 list、stack 與 queue 不同於 pair、vector 等容器,而是對列表、棧、佇列這三個資料結構的重新包裝。
【list 的使用】
list 定義在 <list> 標頭檔案中,其提供了雙鏈表的全部功能,即是一個線性連結串列結構,無需分配記憶體且可任意伸縮。
定義:list<type> listName
- l.front():訪問列表首元素
- l.back():訪問列表尾元素
- l.empty():判斷列表是否為空,當列表為空時返回 true,否則返回 false
- l.size():訪問列表中元素的個數
- l.begin():返回指向第一個元素的迭代器
- l.end():返回指向最後一個元素之後的迭代器
- l.erase(it):刪除迭代器 it 所指元素並返回下一元素迭代器
- l.erase(it_begin,it_end):刪除迭代器 [it_begin,it_end] 區間的元素並返回最後一個被刪除的元素的下一元素迭代器
- l.insert(it,value):在迭代器 it 位置插入一個值為 value 的元素並返回其迭代器,原 it 及以後的元素後移
- l.insert(it,num,value):在迭代器 it 位置插入 num 個值為 value 的元素並返回其迭代器,原 it 及以後的元素後移
【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():訪問佇列中元素的個數