数据结构中的栈 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
广告