C++中的queue
實現一種先進先出的數據結構,是一個模板類
頭文件 #include<queue>
queue<int> Q; //定義一個int型隊列
Q.empty(); //返回隊列是否為空
Q.size(); //返回當前隊列長度
Q.front(); //返回當前隊列的第一個元素
Q.back(); //返回當前隊列的最后一個元素
Q.push(); //在隊列后面插入一個元素, 比如插入數字5: Q.push(5)
Q.pop(); //從當前隊列里,移出第一個元素
1 #include <iostream>
2 #include <queue>
3
4 using namespace std; 5 int main() 6 { 7 queue<int> Q; 8 cout<<"queue empty? "<<Q.empty()<<endl; 9
10 for(int i=0;i<5;i++) 11 { 12 Q.push(i); //進隊列
13 } 14
15 cout<<"queue empty? "<<Q.empty()<<endl; 16 cout<<"queue size: "<<Q.size()<<endl; 17 cout<<endl; 18
19 for(int i=0;i<5;i++) 20 { 21 cout<<"queue front: "<<Q.front()<<endl; 22 Q.pop(); //出隊列
23 } 24
25 return 0; 26 }
QT中的QQueue
它的父類是QList,是個模板類
頭文件: #include <QQueue>
QQueue<int> Q; //定義一個int型隊列
Q.isEmpty(); //返回隊列是否為空
Q.size(); //返回隊列元素個數
Q.clear(); //清空隊列
Q.enqueue(); //在隊列尾部添加一個元素, 比如插入數字5: Q.enqueue(5)
Q.dequeue(); //刪除當前隊列第一個元素,並返回這個元素
Q.head(); //返回當前隊列第一個元素
Q.last(); //返回當前隊列尾部的元素
T & operator[]( int i ); //以數組形式訪問隊列元素
1 #include <QtGui>
2 #include <QQueue>
3 #include <QDebug>
4
5 int main(int argc,char * argv[]) 6 { 7 QQueue<int> Q; //定義一個int型隊列
8 qDebug()<<"queue empty: "<<Q.isEmpty(); //返回隊列是否為空
9
10 for(int i=0;i<5;i++) 11 { 12 Q.enqueue(i); //入隊
13 } 14
15 qDebug()<<"queue empty: "<<Q.isEmpty(); 16 qDebug()<<"queue size: "<<Q.size(); 17
18 for(int i=0;i<5;i++) 19 { 20 qDebug()<<"queue last: "<<Q.last(); //返回當前隊列最后一個個元素
21 qDebug()<<"queue head: "<<Q.dequeue(); //出隊列,並且返回當前隊列第一個元素
22 } 23
24 qDebug()<<"queue empty: "<<Q.isEmpty(); 25 qDebug()<<"queue size: "<<Q.size(); 26
27 return 0; 28 }
