C++中的queuehtml
實現一種先進先出的數據結構,是一個模板類ios
頭文件 #include<queue>數組
用法(以int型爲例):數據結構
queue<int> Q; //定義一個int型隊列
Q.empty(); //返回隊列是否爲空
Q.size(); //返回當前隊列長度
Q.front(); //返回當前隊列的第一個元素
Q.back(); //返回當前隊列的最後一個元素
Q.push(); //在隊列後面插入一個元素, 好比插入數字5: Q.push(5)
Q.pop(); //從當前隊列裏,移出第一個元素
代碼示例:ui
#include <iostream> #include <queue>
using namespace std; int main() { queue<int> Q; cout<<"queue empty? "<<Q.empty()<<endl; for(int i=0;i<5;i++) { Q.push(i); //進隊列 } cout<<"queue empty? "<<Q.empty()<<endl; cout<<"queue size: "<<Q.size()<<endl; cout<<endl; for(int i=0;i<5;i++) { cout<<"queue front: "<<Q.front()<<endl; Q.pop(); //出隊列 } return 0; }
QT中的QQueuespa
它的父類是QList,是個模板類code
頭文件: #include <QQueue>
經常使用用法(以int型爲例):htm
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 ); //以數組形式訪問隊列元素
代碼示例:blog
#include <QtGui> #include <QQueue> #include <QDebug> int main(int argc,char * argv[]) { QQueue<int> Q; //定義一個int型隊列 qDebug()<<"queue empty: "<<Q.isEmpty(); //返回隊列是否爲空 for(int i=0;i<5;i++) { Q.enqueue(i); //入隊 } qDebug()<<"queue empty: "<<Q.isEmpty(); qDebug()<<"queue size: "<<Q.size(); for(int i=0;i<5;i++) { qDebug()<<"queue last: "<<Q.last(); //返回當前隊列最後一個個元素 qDebug()<<"queue head: "<<Q.dequeue(); //出隊列,而且返回當前隊列第一個元素 } qDebug()<<"queue empty: "<<Q.isEmpty(); qDebug()<<"queue size: "<<Q.size(); return 0; }
打印:隊列
queue empty: true queue empty: false queue size: 5 queue last: 4 queue head: 0 queue last: 4 queue head: 1 queue last: 4 queue head: 2 queue last: 4 queue head: 3 queue last: 4 queue head: 4 queue empty: true queue size: 0