queue的常见用法详解
目錄
- queue的定義
- queue容器內元素的訪問
- queue常用函數
- queue的常見用途
queue 翻譯為隊列,在STL中主要則是實現了一個先進先出的容器。
queue的定義
要使用queue,應先添加頭文件:
#include<queue>需要的其他東西:
using namespace std;其定義的寫法和其他STL容器相同,typename可以是任意基本數據類型或容器:
queue<typename> name;queue容器內元素的訪問
由于隊列(queue)本身就是一種先進先出的限制性數據結構,
因此在STL中只能通過front()來訪問隊首元素,或是通過back()來訪問隊尾元素。
queue常用函數
(1) push()
push(x)將x進行入隊,時間復雜度為O(1)。
(2) front()、back()
front()和back()可以分別獲得隊首元素和隊尾元素,時間復雜度為O(1)。
(3) pop()
pop()令隊首元素出隊,時間復雜度為O(1)。
(4) empty()
empty()檢測queue是否為空,返回true則為空,返回false則為非空。時間復雜度為O(1)。
(5) size()
size()返回queue內元素的個數,時間復雜度為O(1)。
queue的常見用途
當需要實現廣度優先搜索時,可以不用自己手動實現一個隊列,而是用queue作為代替以提高程序的準確性。
另外有一點注意的是,使用front()和pop()函數前,必須用empty()判斷隊列是否為空否則可能因為隊空而出現錯誤。
延伸: STL的容器中還有兩種容器跟隊列有關,分別是雙端隊列(deque)和優先隊列(priority_queue),
前者是首尾皆可插入和刪除的隊列,后者是使用堆實現的默認將當前隊列最大元素置于隊首的容器。
總結
以上是生活随笔為你收集整理的queue的常见用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: string的常见用法详解
- 下一篇: priority_queue的常见用法详