数据结构堆栈原始操作
堆栈是后进先出数据结构。堆栈在不同的区域中用于评估表达式,调用和递归策略等。堆栈具有一些原始操作。在这里,我们将看到堆栈的那些操作,并看到一个使用堆栈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