1 #include "stdafx.h" 2 #include3 #include 4 using namespace std; 5 6 //栈的顺序存储结构及实现 7 //栈的结构定义 8 #define OK 1 9 #define ERROR 010 #define TRUE 111 #define FALSE 012 #define MAXSIZE 513 typedef int sElemType;14 typedef int Status;15 typedef struct16 {17 sElemType data[MAXSIZE];18 int top;19 }SqStack;20 Status Init(SqStack *S)21 {22 23 for(int i = 0;i!=MAXSIZE;++i)24 {25 S->data[i]=0;26 }27 S->top = -1;28 return OK;29 }30 //压栈操作31 Status Push(SqStack *S,sElemType e)32 {33 if(S->top == MAXSIZE - 1)34 {35 cout<<"栈满"< top++;39 S->data[S->top]=e;40 return OK;41 }42 //出栈操作43 Status Pop(SqStack *S,sElemType *e)44 {45 if(S->top == -1)46 {47 cout<<"栈空"< data[S->top];51 (S->top)--;52 return OK;53 }54 //输出栈内元素55 Status ReadStack(const SqStack *S)56 {57 cout<<"栈内元素:";58 for(int i = 0;i<=S->top;++i)59 {60 cout< data[i]<<" ";61 }62 cout<