实现顺序栈的基本操作(初始化、判断栈空、判断栈满、入栈、出栈)
时间: 2023-10-16 18:16:49 浏览: 155
```
#include <iostream>
using namespace std;
const int MAXSIZE = 100; // 栈的最大容量
class SeqStack {
private:
int data[MAXSIZE]; // 存储栈元素
int top; // 栈顶指针
public:
SeqStack() { // 初始化栈
top = -1;
}
bool isEmpty() const { // 判断栈空
return top == -1;
}
bool isFull() const { // 判断栈满
return top == MAXSIZE - 1;
}
void push(int x) { // 入栈
if (isFull()) {
cout << "栈已满,无法入栈!" << endl;
return;
}
data[++top] = x;
}
int pop() { // 出栈
if (isEmpty()) {
cout << "栈为空,无法出栈!" << endl;
return -1;
}
return data[top--];
}
};
int main() {
SeqStack s;
s.push(1);
s.push(2);
s.push(3);
cout << s.pop() << endl;
cout << s.pop() << endl;
cout << s.pop() << endl;
cout << s.pop() << endl;
return 0;
}
```