#include#include#defineOK0#defineERROR1intMAX_SIZE=20;//顺序栈的表示方法typedefstruct{int*pData;//top=-1表示栈为空,top范围-1~MAX_SIZEinttop;//top=MAX_SIZE-1表示栈满}SeqStack;SeqStack*InitList(SeqStack*L){if(NULL==L){L=(SeqStack*)malloc(sizeof(SeqStack));//为L开辟空间}if(
L){printf("初始化失败
\n");//开辟失败输出的提示returnNULL;}L->pData=(int*)malloc(MAX_SIZE*sizeof(int));//为栈开辟空间if(
L->pData){free(L);//如果开辟失败释放L的空间printf("初始化失败
\n");returnNULL;}L->top=-1;//栈为空returnL;}//顺序栈的销毁intDestroyList(SeqStack*L){if(L->pData){-1-free(L->pData);//释放栈的空间L->pData=NULL;}L->top=-1;//栈置空return1;}//获取栈顶元素intGetTop(SeqStack*L){if(-1==L->top){printf("栈已空
\n");//如果L->pData等于-1则栈是空的exit(1);}returnL->pData[L->top];//返回栈顶元素}//出栈操作intPop(SeqStack*L){if(-1==L->top){printf("栈已空
\n");//如果L->pData等于-1则栈是空的exit(1);}returnL->pData[L->top--];//返回栈顶元素,栈顶减1}/