数据结构-栈(Stack)-定义与基本操作
一. 顺序栈(Sequential Stack)
1. 定义
#define MaxSize 10 // 定义栈中元素的最大个数
typedef struct {
int data[MaxSize]; // 存放栈中元素
int top; // 栈顶指针
}SqStack;
2. 基本操作
2.1 初始化
// 初始化
void InitStack(SqStack &S) {
S.top = -1; // 初始化栈顶指针
}
2.2 进栈
// 进栈
bool Push(SqStack &S, int x) {
if (S.top == MaxSize - 1) {
// 栈满
return false;
}
// 指针+1,入栈。
S.top++;
S.data[S.top]