#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef struct{
int *base;//栈顶指针int stacksize
int *top;//栈底指针SElemType *top
int stacksize;//栈可用最大容量}SqStack;
}SqStack;
//初始化
SqStack* Initstack(SqStack *S){//构造一个空栈
S->base=malloc(MAXSIZE*sizeof(int));
if(!S->base)exit;//存储分配失败
S->top=S->base;//栈顶指针等于栈底指针S
S->stacksize=MAXSIZE;
}
// 判断栈是否为空
int StackEmpty(SqStack *S){
if(S->base==S->top)
return 1;
else
return 0;
}
//求顺序栈的长度
int StackLength(SqStack *S){
return S->top-S->base;
}
//清空顺序栈
int ClearStack(SqStack *S){
if(S->base) S->top=S->base;
return 1;
}
//销毁顺序栈
int DestroyStack(SqStack *S){
if(S->base){
free(S->base);
S->stacksize=0;
S->base=S->top=NULL;
}
return 1;
}
//顺序栈的入栈
int Push(SqStack *S,SElemType e){
if(S->top-S->base==S->stacksize)
return 0;
*S->top++=e;
return ok;
}
int main(){
}
求顺序栈的长度
清空顺序栈
销毁顺序栈
顺序栈的入栈