結構體 queue(佇列FIFO)入門
阿新 • • 發佈:2019-01-24
佇列:一種特殊的線性表,是一種先進先出(First In First Out)的資料結構。它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。
成員函式:
q.empty()判斷佇列q是否為空,當佇列q空時,true,否false
q.size()訪問佇列q中的元素個數。(不可寫成sizeof(q)或size(q))
q.push(a)會將一個元素a置入佇列q中。
q.front()會返回佇列q內的第一個元素(也就是第一個被置入的元素)。
q.back()會返回佇列q中最後一個元素(也就是最後被插入的元素)
q.pop()會從佇列q中移除第一個元素。
程式實現以及輸出:
#include<iostream>
#include<queue>
using namespace std;
int head=0,tail=0,y;
queue<int>q;
int main()
{
int t,cz,p;
cin>>t;
while(t--)
{
cin>>p;
q.push(p);
}
q.pop();
if(q.empty())cout<<"no";
else
{
cout <<q.front()<<endl;//FI隊首 訪問不刪除
cout<<q.back()<<endl; //FO隊尾 訪問不刪除
cout<<q.size()<<endl;
}
return 0;
}
<1>
輸入
4
23 34 45 56
輸出
34
56
3
<2>
輸入
1
23
輸出
no
樣例解釋:
<1>
輸入四個元素,均放入,後POP第一個元素,佇列不為空,訪問此時隊首隊尾和佇列中元素數量。
<2>
輸入一個元素,Pop
char型queque也可以定義
#include<iostream>
#include<queue>
using namespace std;
int head=0,tail=0,y;
queue<char>q;
int main()
{
int t;
char cz;
cin>>t;
while(t--)
{
cin>>cz;
q.push(cz);
}
cout<<q.front()<<endl;;
cout<<q.back();
return 0;
}
輸入 5
queue
輸出 q