C++实现简单栈数据结构

需积分: 16 1 下载量 70 浏览量 更新于2024-09-15 收藏 1KB TXT 举报
"该资源是关于C++实现简单的栈数据结构的一个小程序,通过类`stack`来封装栈操作,包括进栈、出栈、检查栈是否为空、是否为满以及显示栈内元素的功能。" 在计算机科学中,数据结构是组织、存储和处理数据的一种方式。栈是一种特殊的数据结构,它遵循“后进先出”(LIFO,Last In First Out)的原则。在这个C++程序中,栈的实现基于数组,最大容量为5个元素。 类`stack`包含以下成员: 1. `int a[5]`:用来存储栈元素的数组,大小为5。 2. `int n`:记录数组下标,初始值为0,表示栈顶位置。 3. `int t`:头指针,这里用作记录栈顶元素的索引,初始值为-1,表示栈空。 `stack`类有以下成员函数: 1. 构造函数`stack()`:初始化栈,将`n`设置为0,`t`设置为-1。 2. `bool empty()`:检查栈是否为空,如果`t==-1`,则返回true,表示栈空。 3. `bool full()`:检查栈是否已满,如果`n>=5`,则返回true,表示栈满。 4. `int push(int m)`:进栈操作,将元素`m`压入栈顶。如果栈未满,则将`m`存入`a[n]`,更新`n`和`t`,并打印栈内元素;否则提示栈满。 5. `int show()`:出栈操作,如果栈非空,取出栈顶元素并返回,同时更新`t`和`n`;否则提示栈空。 6. `int display()`:显示栈内所有元素,从栈顶开始,反向遍历数组`a`并打印。 7. 析构函数`~stack()`:在对象销毁时执行,打印“已撤销”。 在`main()`函数中,创建了`stack`对象`s`,并进行了一系列的操作: 1. 进行6次进栈操作,分别将1到6压入栈中。 2. 每次进栈后,调用`display()`展示当前栈的状态。 3. 出栈并显示结果,每次出栈后再次显示栈的当前状态。 通过这个程序,我们可以学习到如何使用C++实现基本的栈操作,并理解栈数据结构的工作原理。这对于理解和解决许多算法问题,尤其是涉及递归或回溯的问题,是非常基础且重要的。