C++实现数组栈操作

需积分: 1 0 下载量 152 浏览量 更新于2024-09-09 收藏 1KB TXT 举报
本资源是一份C++代码示例,主要展示了如何使用数组实现栈(Stack)的基本操作。栈是一种后进先出(LIFO,Last In First Out)的数据结构,常用于算法设计、函数调用和表达式求值等场景。在这个程序中,开发者定义了一个名为`stk`的结构体,包含一个整型数组`s[10]`和一个整型变量`sp`来表示栈顶元素的位置。 首先,程序包含了一些基本的栈操作函数: 1. `isEmpty()`:检查栈是否为空。如果栈顶元素位置`sp`等于-1,说明栈为空,返回1;否则返回0。 2. `isFull()`:检查栈是否已满。如果栈顶位置`sp`等于数组最大容量`max-1`,则返回1,表示栈已满;否则返回0。 3. `push(int val)`:将一个整数`val`压入栈中。如果栈未满(`isFull()`返回0),则将`sp`加1并将`val`存入相应位置,否则提示栈溢出。 4. `pop()`:弹出栈顶元素。如果栈不空(`isEmpty()`返回0),则打印并移除栈顶元素,否则提示栈已空。 `main()`函数是程序的核心部分,它创建一个`stk`类型的栈,并使用一个循环来处理用户的选择。用户可以选择执行以下操作: - 1:压入元素,输入新值并调用`push()` - 2:弹出元素,调用`pop()`然后显示栈的状态 - 3:显示栈中的所有元素,调用`disp()` - 4:退出程序 通过这个简单的C++代码,学习者可以了解如何在实际编程中应用栈的概念,以及如何使用数组实现基本的栈操作。此外,这也展示了C++语言中结构体、类型定义、条件语句和函数的使用,有助于巩固对C++基础语法的理解。