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

更新于:2019 年 8 月 27 日

22K+ 浏览量

开启你的 职业生涯

完成课程,获得认证

开始使用
广告