关晓彤微博照片软件:栈的顺序结构和入栈、出栈算法

来源:百度文库 编辑:中科新闻网 时间:2024/05/03 00:30:22
下面是栈的顺序结构和入栈、出栈算法,请补充算法中的空缺部分。谢谢啦!
typedef struct {
SElemType *base;/*设栈顶栈底两指针的目的是便于判断栈是否为空*/
SElemType *top;/*栈的当前可使用的最大容量*/
int StackSize;
}SqStack;
int Push(SqStack &S,SElemType e){
if(S.top-s.base>=S.stacksize){
S.base=(ElmenType *)realloc(S.base,
(S.stacksize+STACKINCREMENT)*sizeof(ElemType));
if(!S.base)exit(OVERFLOW);
S.top=S.stacksize;
S.stacksize+=STACKINCREMENT;
}/*Push*/
*S.top++=空缺部分;
return OK;
}
int Pop(SqStack &S,SElenType &e){
if(空缺部分)return ERROR;
空缺部分=*--S.top;
return OK;
}/*Pop*/

typedef struct {
SElemType *base;/*设栈顶栈底两指针的目的是便于判断栈是否为空*/
SElemType *top;/*栈的当前可使用的最大容量*/
int StackSize;
}SqStack;

int Push(SqStack &S,SElemType e){
if(S.top-s.base>=S.stacksize){
S.base=(ElmenType *)realloc(S.base,
(S.stacksize+STACKINCREMENT)*sizeof(ElemType));
if(!S.base)exit(OVERFLOW);
S.top=S.stacksize;
S.stacksize+=STACKINCREMENT;
}/*Push*/
*S.top++=e;
return OK;
}

int Pop(SqStack &S,SElenType &e){
if(空缺部分)return ERROR;
e=*--S.top;
return OK;
}/*Pop*/