抽象数据类型是一种特殊的数据类型,其行为由一组值和一组操作定义。使用关键字“抽象”是因为我们可以使用这些数据类型,因此可以执行不同的操作。但是这些操作的工作方式对用户完全是隐藏的。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