C++实现数组栈操作
需积分: 1 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++基础语法的理解。
2023-05-29 上传
145 浏览量
115 浏览量
2011-07-23 上传
2011-01-14 上传
2022-01-27 上传
2013-08-18 上传
2020-12-16 上传
qq_28857073
- 粉丝: 0
- 资源: 2
最新资源
- subiecte,matlab偶极子的场源码,matlab源码网站
- (FZY019)某美容保健公司手机微官网.zip
- Python-do-zero:Treinamendo do livro
- CryptoFairPlay Games-crx插件
- Select2的插件下载.zip
- pm2_sourceread:pm2原始码阅读,pm2执行主流程分型,附带笔者读时的注释方便大家阅读
- typetalk-js:Typetalk JavaScript客户端库
- 类型:Go包,提供非原始Roblox类型的实现
- matlab_bgl,matlab脑电信号处理源码,matlab源码下载
- exchange_webshell_detection:检测通过“ proxylogon”组漏洞(CVE-2021-26855,CVE-2021-26857,CVE-2021-26858,CVE-2021-27065)利用的Microsoft Exchange服务器上掉落的Web外壳
- issue-helper:GitHub Action可以轻松帮助您自动管理问题。 欢迎尝试
- Parakeet:发现您附近的音乐的网站。 加入并创建群组以创建热门播放列表
- Car Drawing Online Free Gameplay -crx插件
- 响应式黑红.zip
- 音频滤波器:音频滤波器的 Simulink 模型。-matlab开发
- exact_alm_rpca,matlab可以查看函数源码吗,matlab源码怎么用