************** #include <stdio.h> #include <stdlib.h> #include "3.h" int InitStack (SqStack &s){ // 初始化顺序栈 s s.base=(SElemType*)malloc(STACK_SIZE * sizeof (SElemType)); if (!s.base) return 0; // 存储分配失败 s.top = s.base; s.stacksize = STACK_SIZE; return 1; } int POP (SqStack &s, SElemType &e) { // 出栈操作,并用 e 返回栈顶 if (s.top == s.base) return 0; // 若栈空,返回 ERROR e= *--s.top; // 不空,用形参 e 返回其值 return 1; // 返回 OK ; } int PUSH (SqStack &s, SElemType e){ // 入栈操作 if (s.top - s.base >= s.stacksize) return 0; // 栈满,返回 ERROR *s.top++ = e; //*S.top=e;S.top++; return 1; } int StackEmpty(SqStack s){ // 判断栈 S 是否为空,为空,返回 OK ,否则返回 ERROR if (s.base == s.top) return 1; return 0; } void menu(){ // 菜单 printf("\n**********************\n"); printf("1: 入队列\n"); printf("2: 出队列\n"); printf("3: 判空\n"); printf("4: 遍历\n");