在数据结构中堆叠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