資料結構中的棧 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
廣告