28365365体育

推送和弹出问题

来源:线上365bet投注日期:2019-11-05 12:47 浏览:
全部展开
#includestdio。
h#includemalloc。
h#defineOK1#defineERROR0 //定义堆栈顺序#defineSTACK_SIZE100 //存储空间的初始分配#defineSTACK_INC10 //增加存储空间的分配typedefcharElem; typedefstruct{Elem * base; //堆栈底部指针Elem * top。//堆栈顶部指针Intize; //当前分配的存储空间}SqStack; typedefintStatus; //创建一个空电池。堆栈的顶部指针与堆栈的底部指针相同,并且堆栈为空StatusCreatStack(SqStack&S){S.
Base =(Elem *)malloc(STACK_SIZE * sizeof(Elem)); S.
以上= S
基地; S.
Size = STACK_SIZE; returnOK;}//堆栈为空StatusStackEmpty(SqStackS){if(S.
起来!
= S
Base)returnERROR; returnOK;}// StatusPush推送(SqStack&S,Eleme){if(S.
前S。
基数= S
大小){//电池已满,额外的存储空间S。
Base =(Elem *)重新分配(S.
基地,(南
大小+ STACK_INC)* sizeof(Elem)); S.
以上= S
基数+ S
尺寸; S。
大小或+ = STACK_INC;}*S。
高于= e; S.
顶部+ = 1; returnOK;}//弹出StatusPop(SqStack&S,Elem&e){if(S.
顶端== S
Base)returnERROR; S.
Up- = 1; e = *S。
返回returnOK;}