C++(1) 初始化栈S (2) 判断栈是否为空 (3) 依次进栈元素a,b, c, d,e (4)输出出栈序列 (5)释放栈
时间: 2024-10-23 11:16:00 浏览: 13
在C++中,我们可以使用STL中的stack容器来实现这个功能。这里是一个简单的例子:
1. 初始化栈S:
```cpp
#include <stack>
std::stack<int> S; // 使用默认的整型模板初始化一个空栈
```
2. 判断栈是否为空:
```cpp
bool isEmpty() {
return S.empty(); // 如果栈顶元素为空,则返回true;否则返回false
}
```
3. 依次进栈元素a,b,c,d,e:
```cpp
void pushElements(int elements[]) {
for (int i = 0; i < 5; ++i) {
S.push(elements[i]); // 将数组元素逐一压入栈中
}
}
```
4. 输出出栈序列:
由于C++标准库中没有直接提供出栈并打印的功能,我们需要手动实现循环出栈:
```cpp
void printStack() {
if (!isEmpty()) {
while (!S.empty()) {
std::cout << S.top() << " "; // 打印栈顶元素
S.pop(); // 出栈
}
std::cout << "\n";
} else {
std::cout << "Stack is empty.\n";
}
}
```
5. 释放栈(C++不需要显式释放栈,因为它是自动管理的内存资源,当我们不再需要它时,它会被垃圾回收机制自动清理)。
注意,以上代码示例是在控制台环境中运行,如果需要将这些操作封装到一个类里,可以创建一个Stack类,并添加相应的成员函数。同时,为了便于演示,上述代码假设有一个整数数组`elements`存在。
阅读全文