1. 程式人生 > >C++ stl佇列Queue用法介紹:刪除,插入等操作程式碼舉例

C++ stl佇列Queue用法介紹:刪除,插入等操作程式碼舉例

C++佇列queue模板類的定義在<queue>標頭檔案中,queue 模板類需要兩個模板引數,一個是元素型別,一個容器型別,元素型別是必要的,容器型別是可選的,預設為deque 型別。

    C++佇列Queue是一種容器介面卡,它給予程式設計師一種先進先出(FIFO)的資料結構。

C++佇列Queue類成員函式如下:

back()返回最後一個元素

empty()如果佇列空則返回真

front()返回第一個元素

pop()刪除第一個元素

push()在末尾加入一個元素

size()返回佇列中元素的個數

   定義queue 物件的示例程式碼如下:

queue<int> q1; queue<double> q2;

    queue 的基本操作舉例如下:

queue入隊,如例:q.push(x); 將x 接到佇列的末端。

queue出隊,如例:q.pop(); 彈出佇列的第一個元素,注意,並不會返回被彈出元素的值。

訪問queue隊首元素,如例:q.front(),即最早被壓入佇列的元素。

訪問queue隊尾元素,如例:q.back(),即最後被壓入佇列的元素。

判斷queue佇列空,如例:q.empty(),當佇列空時,返回true。

訪問佇列中的元素個數,如例:q.size()

C++ stl佇列queue示例程式碼1:

#include <cstdlib> #include <iostream> #include <queue> using namespace std; int main() { int e,n,m; queue<int> q1;
for(int i=0;i<10;i++) q1.push(i); if(!q1.empty()) cout<<"dui lie  bu kong\n"; n=q1.size(); cout<<n<<endl; m=q1.back(); cout<<m<<endl; for(int j=0;j<n;j++) { e=q1.front(); cout<<e<<" "; q1.pop(); } cout<<endl; if(q1.empty()) cout<<"dui lie  bu kong\n"
; system("PAUSE"); return 0; }

C++ stl佇列queue示例程式碼2:

#include <iostream> #include <queue> #include <assert.h> /* 呼叫的時候要有標頭檔案: #include<stdlib.h> 或 #include<cstdlib> + #include<queue>       #include<queue> 詳細用法: 定義一個queue的變數     queue<Type> M 檢視是否為空範例        M.empty()    是的話返回1,不是返回0; 從已有元素後面增加元素   M.push() 輸出現有元素的個數      M.size() 顯示第一個元素          M.front() 顯示最後一個元素        M.back() 清除第一個元素          M.pop() */ using namespace std; int _tmain(int argc, _TCHAR* argv[]) { queue <int> myQ; cout<< "現在 queue 是否 empty? "<< myQ.empty() << endl;  for(int i =0; i<10 ; i++) { myQ.push(i); } for(int i=0; i<myQ.size(); i++) { printf("myQ.size():%d\n",myQ.size()); cout << myQ.front()<<endl; myQ.pop(); } system("PAUSE");  return 0; }

 輸出結果:

現在 queue 是否 empty? 1 myQ.size():10 0 myQ.size():9 1 myQ.size():8 2 myQ.size():7 3 myQ.size():6 4 請按任意鍵繼續. . .

文章摘自 http://www.169it.com/article/2718050585107790752.html