1.初始化
#define MaxSize 10
typedef struct node* SeqStack;
typedef char ElementType;
struct node {
ElementType data[MaxSize];
int top; //标记栈顶数据
};
//初始化
void InitNode(SeqStack *L) {
(*L) = (SeqStack)malloc(sizeof(struct node));
(*L)->top = -1;
}
2.进栈
//进栈
void PushStack(SeqStack L, ElementType x) {
if (L->top == MaxSize - 1) {
cout << "error";
}
else {
L->top++; //入栈所以加1
L->data[L->top] = x;
}
}
3.出栈
//出栈
void PopStack(SeqStack L, ElementType *x) {
if (L->top == -1) {
cout << "error" << endl;
}
else {
*x = L->data[L->top];
L->top--;
}
}
4.遍历输出(先进后出原则)
//遍历输出
void PrintNode(SeqStack L) {
for (int i = L->top; i >= 0; i--) {
cout << L->data[i]<<" ";
}
//cout << endl;
}