資料結構中的佇列操作


佇列是先進先出的資料結構。佇列被用於不同領域的圖遍歷演算法廣度優先搜尋等。佇列有一些原始操作。我們將在此處檢視佇列的這些操作,並使用佇列 ADT 檢視一個示例。

ADT(抽象資料型別)是一種特殊的資料型別,其行為由一組值和一組操作定義。關鍵字“抽象”用於我們可使用這些資料型別,我們可執行不同的操作。但這些操作的工作方式對使用者而言是完全隱藏的。ADT 由原始資料型別構成,但操作邏輯是隱藏的。

以下是佇列 ADT 的一些操作或函式。

  • isFull(),此函式用於檢查佇列是否已滿
  • isEmpry(),此函式用於檢查佇列是否為空
  • enqueue(x),此函式用於將 x 推送至佇列末尾
  • delete(),此函式用於從前端刪除一個元素
  • front(),此函式用於獲取佇列的最前端元素
  • size(),此函式用於獲取佇列中存在的元素數量

示例

 即時演示

#include<iostream>
#include<queue>
using namespace std;
main(){
   queue<int> que;
   if(que.empty()){
      cout << "Queue is empty" << endl;
   } else {
      cout << "Queue is not empty" << endl;
   }
   //insert elements into queue
   que.push(10);
   que.push(20);
   que.push(30);
   que.push(40);
   que.push(50);
   cout << "Size of the queue: " << que.size() << endl;
   //delete and dispay elements
   while(!que.empty()) {
      int item = que.front(); // read element from first position
      que.pop();
      cout << item << " ";
   }
}

輸出

Queue is empty
Size of the queue: 5
10 20 30 40 50

更新於:2019 年 8 月 27 日

580 次檢視

開啟你的職業生涯

完成課程獲取認證

開始
廣告