21xrx.com
2025-06-17 23:39:13 Tuesday
登录
文章检索 我的文章 写文章
C++栈代码
2023-07-13 19:09:58 深夜i     19     0
C++ 代码

栈(Stack)是一种后进先出(Last In First Out,LIFO)的数据结构,它具有快速读写速度和优秀的空间利用效率。在C++中,可以通过代码实现栈的数据结构。下面是一个简单的C++栈代码:

#include<iostream>
using namespace std;
#define MAXSIZE 100
class Stack
{
private:
  int data[MAXSIZE];//存放栈中元素的数组
  int top;//栈顶指针
public:
  Stack(){top=-1;}//初始化栈,将栈顶指针设置为-1
  bool push(int x)//入栈操作
  {
    if(top>=MAXSIZE-1)//判断栈是否满
    
      cout<<"Stack Overflow!"<<endl;
      return false;
    
    else
    {
      data[++top]=x;
      return true;
    }
  }
  bool pop()//出栈操作
  {
    if(top==-1)//判断栈是否为空
    
      cout<<"Stack Underflow!"<<endl;
      return false;
    
    else
    
      top--;
      return true;
    
  }
  int getTop()//获取栈顶元素
  {
    if(top==-1)//判断栈是否为空
    
      cout<<"Stack is Empty!"<<endl;
      return -1;
    
    else
    {
      return data[top];
    }
  }
  bool isEmpty()//判断栈是否为空
  {
    if(top==-1)
      return true;
    else
      return false;
  }
  int getSize()//获取栈的大小
  {
    return top+1;
  }
};
int main()
{
  Stack s;
  s.push(1);
  s.push(2);
  s.push(3);
  s.pop();
  cout<<s.getTop()<<endl;
  cout<<s.getSize()<<endl;
  return 0;
}

在上面的C++栈代码中,我们定义了一个Stack类,并在其中设置了入栈、出栈、获取栈顶元素、判断栈是否为空、获取栈大小等操作函数。在主函数中,我们创建了一个栈对象s,并对其进行操作。这个栈对象也可以用于其他函数中,方便地实现栈的功能。

  
  

评论区