#include <iostream>
#include <vector>
#include <stdexcept> // 用于抛出异常
using namespace std;
class Stack {
private:
vector<int> elements; // 使用vector来存储栈中的元素
public:
// 压栈操作
void push(int val) {
elements.push_back(val); // 在vector的末尾添加元素,模拟压栈
}
// 弹栈操作,并返回栈顶元素
int pop() {
if (elements.empty()) {
throw runtime_error("Stack is empty!"); // 如果栈为空,则抛出异常
}
int top = elements.back(); // 获取栈顶元素
elements.pop_back(); // 移除栈顶元素
return top;
}
// 检查栈是否为空
bool isEmpty() const {
return elements.empty();
}
// 获取栈的大小
size_t size() const {
return elements.size();
}
};
int main() {
Stack s;
// 压栈操作
s.push(1);
s.push(2);
s.push(3);
// 弹栈操作并打印
while (!s.isEmpty()) {
cout << s.pop() << " "; // 输出: 3 2 1
}
return 0;
}
早七睡不醒
- 粉丝: 13
- 资源: 167
最新资源
- 软考冲刺的基本内容和操作
- Centos8.x通过RPM包升级OpenSSH9.8(openssl-3.0) 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- Centos8.x通过RPM包升级OpenSSH9.7(openssl-3.0) 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- 数据库基本内容讲解和操作
- Centos8.x通过RPM包升级OpenSSH9.9.(openssl-3.4.0) 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- FortFirewall-3.14.7-windows10-x86-64 防火墙
- javaweb基本操作
- Centos7.x升级openssl-1.1.1w rpm安装包 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- yolo的基本操作用法
- Ubuntu20/22/24通过deb包升级OpenSSH9.9方法 不支持16、18版本,升级有风险,前务必做好快照,以免升级后出现异常影响业务
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈