当前位置: 首页 > news >正文

C++实现顺序栈类的定义,编写main ()函数验证顺序栈类设计的合理性

C++实现顺序栈类的定义,编写main ()函数验证顺序栈类设计的合理性

以下是一个简单的C++代码示例,用于实现顺序栈类的定义并编写main()函数来验证其合理性:

#include <iostream>
using namespace std;const int MAX_SIZE = 100; // 定义栈的最大容量class SeqStack {
private:int top; // 栈顶指针int data[MAX_SIZE]; // 存储栈元素的数组
public:SeqStack() { // 构造函数,初始化栈顶指针top = -1;}bool isEmpty() { // 判断栈是否为空return top == -1;}bool isFull() { // 判断栈是否已满return top == MAX_SIZE - 1;}void push(int item) { // 元素入栈if (isFull()) {cout << "Stack is full. Cannot push element." << endl;} else {data[++top] = item;}}int pop() { // 元素出栈if (isEmpty()) {cout << "Stack is empty. Cannot pop element." << endl;return -1;} else {return data[top--];}}int peek() { // 返回栈顶元素if (isEmpty()) {cout << "Stack is empty. No element to peek." << endl;return -1;} else {return data[top];}}
};int main() {SeqStack stack;// 验证顺序栈类的设计stack.push(10);stack.push(20);stack.push(30);cout << "Peek: " << stack.peek() << endl;cout << "Pop: " << stack.pop() << endl;cout << "Pop: " << stack.pop() << endl;cout << "Pop: " << stack.pop() << endl;cout << "Is empty? " << (stack.isEmpty() ? "Yes" : "No") << endl;return 0;
}

这段代码实现了一个顺序栈类(SeqStack),其中包含了常用的栈操作函数,如入栈(push)、出栈(pop)、判断栈是否为空(isEmpty)以及返回栈顶元素(peek)等。在main()函数中,我们对顺序栈类进行了简单的测试和验证。

http://www.lryc.cn/news/198421.html

相关文章:

  • 手机直播助手软件app哪个好用?
  • 腾讯待办宣布关停,哪款待办事项提醒APP好?
  • 【单片机毕业设计】【hj-006-7】CO、有害混合气体检测 | 空气质量检测 | 有害气体检测
  • wpf主页面解析
  • 三相交错LLC软启动控制程序算法实现---充电桩电源设计实战细节
  • Chrome 115之后的版本,安装和使用chromedriver
  • 潮玩宇宙:收藏、交流与竞技的数字乐园
  • 企拓客app骗局为不实信息,企拓客保持正常经营状态
  • 【性能】JDK和Jmeter的安装与配置
  • 02_单片机及开发板介绍
  • 华测监测预警系统 2.2---任意文件读取漏洞
  • 新版多功能去水印工具微信小程序源码下载+带流量主功能
  • 文章必备| 叶绿体基因组高级分析内容汇总
  • 阿里实习JAVA后端面经总结
  • 利用 NLP 超能力:一步步介绍Hugging Face微调教程
  • 凝聚技术力量 共建测试生态 ——集成电路测试技术交流日成功举办
  • 机器学习-ROC曲线:技术解析与实战应用
  • macos平台好用的FTP客户端 Transmit 5最新中文
  • 用JavaScript输出0-9的两种方法、以及setTimeout的三个参数的意义
  • 酷鸟云近期主要新功能合集
  • 【大数据开发技术】实验06-SequenceFile、元数据操作与MapReduce单词计数
  • 【C语言】输入一个正整数,判断其是否为素数
  • 2023年Q3季度国内手机大盘销额下滑2%,TOP品牌销售数据分析
  • 使用按钮从 SAP 系统内打开 Excel 文件
  • 人工智能(pytorch)搭建模型20-基于pytorch搭建文本生成视频的生成对抗网络,技术创新点介绍
  • C/C++面试常见问题——指针和引用的区别
  • 探索DeFi世界,MixGPT引领智能金融新时代
  • 留学教育咨询机构如何通过软文强势突围
  • 苹果平板可以用别的电容笔吗?电容笔和Apple pencil区别
  • 【Matlab笔记_16】yyyy-MM-dd HH:mm:ss的datetime格式拆分为yyyy-MM-dd日期部分和HH:mm:ss时间部分