设计一个栈类,使用类和对象的知识,完成化栈、入栈、出栈、判栈空的相应功
时间: 2024-01-26 15:05:17 浏览: 59
栈的创建,入栈,出栈
5星 · 资源好评率100%
以下是一个使用类和对象实现的栈类的 C++ 代码示例,包括栈的初始化、入栈、出栈和判栈空操作:
```c++
#include <iostream>
using namespace std;
const int MAX_SIZE = 100; // 栈的最大容量
class Stack {
private:
int top; // 栈顶指针
int data[MAX_SIZE]; // 栈的数据
public:
Stack() { // 构造函数,初始化栈
top = -1; // 栈顶指针初始化为-1,表示栈为空
}
void push(int x) { // 入栈操作
if (top >= MAX_SIZE - 1) { // 判断是否栈满
cout << "Stack overflow!" << endl;
return;
}
data[++top] = x; // 栈顶指针加1,将元素x入栈
}
int pop() { // 出栈操作
if (top < 0) { // 判断是否栈空
cout << "Stack underflow!" << endl;
return -1;
}
return data[top--]; // 返回栈顶元素,并将栈顶指针减1
}
bool empty() { // 判栈空操作
return top == -1; // 栈顶指针为-1,即为空栈
}
};
int main() {
Stack s;
s.push(1);
s.push(2);
s.push(3);
while (!s.empty()) {
cout << s.pop() << " "; // 3 2 1
}
cout << endl;
return 0;
}
```
阅读全文