資料結構棧基本運算
棧是一種後進先出資料結構。棧在不同領域用於計算表示式、呼叫和遞迴策略等。棧有一些基本運算。我們在此將看到棧的這些運算,並透過棧 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP