c++遍历顺序栈的代码
时间: 2024-11-12 09:37:50 浏览: 21
好的,以下是一个简单的 C++ 遍历顺序栈的代码示例:
```cpp
#include <iostream>
using namespace std;
class Stack {
private:
int top;
int arr[100];
public:
Stack() {
top = -1;
}
bool isEmpty() {
return top == -1;
}
bool isFull() {
return top == 99;
}
void push(int x) {
if (isFull()) {
cout << "Stack is full!" << endl;
return;
}
arr[++top] = x;
}
int pop() {
if (isEmpty()) {
cout << "Stack is empty!" << endl;
return -1;
}
return arr[top--];
}
void traverse() {
if (isEmpty()) {
cout << "Stack is empty!" << endl;
return;
}
int x = pop();
while (!isEmpty()) {
cout << x << " ";
x = pop();
}
}
};
int main() {
Stack s;
s.push(1);
s.push(2);
s.push(3);
s.traverse(); // 输出:3 2 1
return 0;
}
```
这个代码定义了一个名为 `Stack` 的类,它包含一个整数类型的数组 `arr` 和一个整数类型的变量 `top`,用于表示栈顶的位置。该类还包含了一些常见的操作方法,如 `push()` 插入元素到栈顶,`pop()` 弹出栈顶元素,`isEmpty()` 和 `isFull()` 检查栈是否为空或已满等。在 `traverse()` 方法中,我们使用一个循环遍历栈中的元素并输出它们。在主函数中,我们创建了一个 `Stack` 对象并对其进行了操作。在 `traverse()` 方法调用之前,我们先向栈中插入了三个元素,然后在 `traverse()` 方法中遍历并输出这些元素。
阅读全文