数据结构堆栈原始操作

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