数据结构堆栈原始操作
堆栈是后进先出数据结构。堆栈在不同的区域中用于评估表达式,调用和递归策略等。堆栈具有一些原始操作。在这里,我们将看到堆栈的那些操作,并看到一个使用堆栈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;
}
//将元素插入堆栈
stk.push(10);
stk.push(20);
stk.push(30);
stk.push(40);
stk.push(50);
cout << "Size of the stack: " << stk.size() << endl;
//弹出和支付元素
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