21xrx.com
2024-12-22 20:28:08 Sunday
登录
文章检索 我的文章 写文章
C++栈代码
2023-07-13 19:09:58 深夜i     --     --
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,并对其进行操作。这个栈对象也可以用于其他函数中,方便地实现栈的功能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复