4770: 栈操作

news/2024/11/24 20:25:29/

定义一个栈,可以对栈进行“压入堆栈”、“弹出栈顶元素”、“清空堆栈”、“获取栈顶元素”等操作。键盘输入一些命令,可以执行上述操作。本题中,栈元素均为整数。栈的最大元素个数为1000。

输入

输入各个命令,它们对应的格式如下:

压入堆栈:push a,a代表压入堆栈的元素,这里push和元素之间用空格分隔。

清空堆栈:clear

获取栈顶元素:top

弹出栈顶元素:pop

当输入的命令为exit时,程序结束。

输出

当输入的命令为pop时,请输出弹出的元素值。

当输入的命令是top时,请输出当前栈顶元素值。

注意,如果没有满足的元素,请输出None。

样例输入

push 1
top
clear
push 2
pop
exit

样例输出

1
2

#include<iostream>
#include<string>
using namespace std;
class SqStackClass {int* data;int top;
public:SqStackClass();~SqStackClass();void Push(int e);bool Pop(int& e);void clear();bool GetTop(int& e);
};
SqStackClass::SqStackClass() {data = new int[1000];top = -1;
}
SqStackClass::~SqStackClass() {delete[]data;
}
void SqStackClass::Push(int e) {top++;data[top] = e;
}
bool SqStackClass::Pop(int& e) {if (top == -1)return false;e = data[top];top--;return true;
}
void SqStackClass::clear() {top = -1;
}
bool SqStackClass::GetTop(int& e) {if (top == -1)return false;e = data[top];return true;
}
int main() {string s;SqStackClass p;while (cin >> s) {if (s == "push") {int a;cin >> a;p.Push(a);}else if (s == "pop") {int e;if (p.Pop(e))cout << e << endl;else cout << "None" << endl;}else if (s == "top") {int e;if (p.GetTop(e))cout << e << endl;else cout << "None" << endl;}else if (s == "clear")p.clear();else if (s == "exit") break;}return 0;
}

http://www.ppmy.cn/news/147396.html

相关文章

碧砚适合佳能328 4452 ICD520 4472 4450 硒鼓4700一体机墨盒4770

转载于:https://www.cnblogs.com/zengkefu/p/6036577.html

【JavaSE】方法的使用--05

目录 一、方法的概念与使用 1.1 什么是方法 1.2 方法的定义 1.3 方法调用的执行过程 1.4 实参和形参的关系&#xff08;重要&#xff09; 1.5 有无返回值的方法 二、方法的重载 2.1 方法重载的概念 2.2 方法重载的要求 2.3 方法签名 前言&#xff1a; 之前很久没写这…

更新中-深度学习实战中遇到的一些概念+少量代码

onnx ONNX 是一种用于机器学习模型的开放式表示格式&#xff0c;它可以让不同的深度学习框架之间共享模型。 import onnxruntime # 加载模型 session onnxruntime.InferenceSession(model.onnx) # 运行模型。第一个参数是输出变量列表&#xff0c;不指定的话返回所有值 outp…

代码随想录算法训练营第三十一天 | 力扣 455.分发饼干, 376. 摆动序列, 53. 最大子序和

贪心算法 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优 贪心算法一般分为如下四步&#xff1a; 将问题分解为若干个子问题找出适合的贪心策略求解每一个子问题的最优解将局部最优解堆叠成全局最优解 这个四步其实过于理论化了&#xff0c;我们平时在做…

华硕笔记本k555拆机图解_华硕K751大屏笔记本拆机解析

虽然目前笔记本的发展趋势是轻薄便携化&#xff0c;但是大尺寸笔记本依然具有一定的市场&#xff0c;近期华硕就推出一款17英寸的大屏幕影音笔记本——K751&#xff0c;这款笔记本采用17.3英寸全高清雾面显示屏&#xff0c;内置SonicMaster音响系统&#xff0c;可以为用户提供更…

实验六:555定时器

一.实验目的与要求&#xff1a; 使用555定时器构成占比可调的多谐振荡器 二.方法、步骤&#xff1a; 1.如图进行接线。R1和R2使用实验箱上的1kΩ和4.7kΩ的电位器。C0.1μF&#xff0c;使用实验箱提供的0.1μF电容&#xff0c;0.01μF使用103电容&#xff0c;5V取5V电源。 2.…

Java调用c++的动态链接库正确方式,踩坑选手!

文章目录 1、JNI是什么&#xff1f;需要怎么理解它&#xff1f;2、如何在idea和clion中操作使用&#xff1f;2.1Java中编写JNI接口2.1.1 通过指令自动生成2.1.2 自己编写c头文件__&#xff08;c头文件以.h,源文件则是.cpp&#xff09; 3.1 使用Clion导入项目3.1.1CmakeLists.tx…

基于555定时器的LED电子骰子设计

目录 零、前言 一、电路总体原理图 1.1所用仿真平台及电子元件 1.2整体原理图 二、主要元件及其工作原理介绍 2.1 555定时器 2.2 4017逻辑单元 三、现象展示 四、尾声 零、前言 自从研究生开学以来就一直在学各种算法&#xff0c;从来没有碰硬件的东西&#xff0c;今…