資料結構中的棧 ADT


抽象資料型別是一種特殊的資料型別,其行為由一組值和一組操作來定義。使用關鍵字“抽象”是因為我們可以使用這些資料型別,我們可以執行不同的操作。但是這些操作是如何工作的,這對使用者來說是完全隱藏的。ADT 由基本資料型別製成,但操作邏輯是隱藏的。

這裡我們將看到堆疊 ADT。以下是堆疊 ADT 的一些操作或函式。

  • isFull(),用於檢查堆疊是否已滿
  • isEmpry(),用於檢查堆疊是否為空
  • push(x),用於將 x 推入堆疊
  • pop(),用於從堆疊頂部刪除一個元素
  • peek(),用於獲取堆疊最頂層的元素
  • size(),此函式用於獲取堆疊中存在的元素數量

示例

 現場演示

#include<iostream>
#include<stack>
using namespace std;
main(){
   stack<int> stk;
   if(stk.empty()){
      cout << "Stack is empty" << endl;
   } else {
      cout << "Stack is not empty" << endl;
   }
   //insert elements into stack
   stk.push(10);
   stk.push(20);
   stk.push(30);
   stk.push(40);
   stk.push(50);
   cout << "Size of the stack: " << stk.size() << endl;
   //pop and dispay elements
   while(!stk.empty()){
      int item = stk.top(); // same as peek operation
      stk.pop();
      cout << item << " ";
   }
}

輸出

Stack is empty
Size of the stack: 5
50 40 30 20 10

更新於:2019 年 8 月 27 日

22K+ 瀏覽量

開啟你的 職業生涯

完成課程,獲得認證

開始使用
廣告