顺序栈的输入输出
时间: 2023-07-09 07:07:23 浏览: 94
顺序栈是一种基于数组实现的栈,其输入和输出方式与普通栈相同,只是在底层数据结构上有所不同。
顺序栈的输入操作称为“入栈”,输出操作称为“出栈”。
入栈:将元素压入栈顶,即将元素插入到数组的最后一个位置。如果栈已满,则无法入栈。
出栈:从栈顶弹出一个元素,即从数组的最后一个位置取出元素并删除。如果栈为空,则无法出栈。
具体实现可以参考以下代码:
```c++
#define MAXSIZE 100 // 定义栈的最大容量
typedef int ElemType; // 定义栈元素的数据类型
typedef struct {
ElemType data[MAXSIZE]; // 存储栈中元素的数组
int top; // 栈顶指针,初始值为-1
} SqStack;
// 入栈操作
bool Push(SqStack &S, ElemType x) {
if (S.top == MAXSIZE - 1) { // 栈已满,无法入栈
return false;
}
S.data[++S.top] = x; // 栈顶指针加1,将元素压入栈顶
return true;
}
// 出栈操作
bool Pop(SqStack &S, ElemType &x) {
if (S.top == -1) { // 栈为空,无法出栈
return false;
}
x = S.data[S.top--]; // 将栈顶元素弹出,栈顶指针减1
return true;
}
```
阅读全文