queue佇列的用法
阿新 • • 發佈:2021-02-08
C++中queue佇列的用法
小菜雞一枚,C++才剛剛學了半年,有錯誤的地方歡迎指出!!!
首先,要有標頭檔案:
#include<queue>
定義方法:
queue <TYPE> M //M是變數名
接下來是常見的函式:
M.push() 在已有元素後增加括號中元素
M.size() 輸出M中元素的個數
M.empty() 檢視是否為空,是的話返回1,不是則返回0
M.front() 顯示第一個元素
M.back() 顯示最後一個元素
M.pop() 消除第一個元素
emmm,基本知識大概就這麼多了,然後我就開始寫程式碼,一個一個的用這些函式,然後就是。。。
The First Try!(失敗)
#include <iostream>
#include <queue>
using namespace std;
int main()
{
queue <int> list;
for(int i=0;i<5;i++)
list.push(i);
for (int i=0;i<5;i++)
cout<<list.front();
return 0;
}
那個那個M.front()不都說了是顯示第一個元素的了嘛,迴圈那是整的啥,真的是,想錘爆自己!還要有一個M.pop()這樣才行嘛,把第一個依次刪掉,然後再顯示不就好了嘛。
還有還有,為啥我還沒有輸入它就自己輸出完了呢???應該沒問題吧。(有點心虛,畢竟我很菜。。。)
嗷嗷嗷,知道了,那個M.push(i),是把i接到M後面
The Scond!
#include <iostream> #include <queue> using namespace std; int main() { queue <int> list; for(int i=0;i<5;i++) list.push(i); for (int i=0;i<5;i++) { cout<<list.front(); list.pop(); } return 0; }
o,成功了!這樣就搞清楚了這三個函式的用法,但是隻能接一個數字嗎?不能接一串嗎?
emmm,查了一下,是資料結構的內容,我還沒學,嗚嗚嗚嗚嗚
下學期學了之後,再補充吧,哎
Queue容器是一種先進先出(FIFO-first in first out)的資料結構。它有兩個出口
Queue容器允許從一端新增元素,從另一端移除元素。
Queue容器中,只有隊頭和隊尾允許訪問,其餘不允許訪問。
佇列進資料稱為入隊----push()
隊列出資料稱為出隊----pop()