21xrx.com
2024-05-20 16:44:25 Monday
登录
文章检索 我的文章 写文章
C++实现栈的出栈操作代码
2023-07-04 21:24:27 深夜i     --     --
C++ 出栈 实现 代码

栈是一种常用的数据结构,它支持数据的进栈和出栈操作。在C++中,栈可以通过类来实现。下面是一个简单的栈类实现,并包含出栈操作的代码。

首先,定义一个栈类,包含私有变量top(表示栈顶元素的下标)、容量capacity和元素数组data。其中,元素数组可以采用动态分配内存的方式实现,以适应不同的栈大小。


class Stack {

private:

  int top;

  int capacity;

  int *data;

public:

  Stack(int size) {

    capacity = size;

    top = -1;

    data = new int[capacity];

  }

  void push(int element) {

    if (top >= capacity - 1)

      cout << "Stack overflow.";

      return;

    

    data[++top] = element;

  }

  int pop() {

    if (top < 0)

      cout << "Stack underflow.";

      return -1;

    

    return data[top--];

  }

};

在上述代码中,push()函数实现了元素入栈操作,它首先检查栈是否已满(top >= capacity - 1),如果是则输出错误信息;否则将元素插入到栈顶(即data[++top] = element;)。

pop()函数实现了元素出栈操作。它首先检查栈是否为空(top < 0),如果是则输出错误信息;否则返回栈顶元素,并将top下标减一(即return data[top--];)。

最后,在主函数中可以通过如下代码进行测试:


int main() {

  Stack s(10);

  s.push(1);

  s.push(2);

  s.push(3);

  cout << s.pop() << endl; // 输出3

  cout << s.pop() << endl; // 输出2

  cout << s.pop() << endl; // 输出1

  cout << s.pop() <<endl; // 输出Stack underflow.

  return 0;

}

通过以上代码,我们可以成功实现栈的出栈操作,对于其他操作,可以根据需要进行实现。

  
  

评论区

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