2024.9.25
栈:
是限定仅在表位进行插入或删除操作的线性表如果需要按照保存数据相反的顺序来使用数据,则可以利用栈来实现。
顺序栈的存储结构定义:
typedef struct{
SElemType base;
SElemType top;
int stacksize;
}SpStack;
1.初始化
Status InitStack(SqStack &S){
//构造一个空栈
S.base=(SElemType) malloca(MAXSIZEsizeof(SElemType));
if(!S.base) exit(-1);
S.top=S.base;
S.stacksize=MAXSIZE;//初始容量即设为满容量
return OK;
}
2.进栈:
Status Push(SqStack &S,SElemType e){
if(S.top-S.baseS.stacksize) return ERROR;
*S.top++=e;
return OK;
}
3.出栈:
Status Pop(SqStack &S,SElemType &e){
if(S.topS.base) return ERROR;
e=*--S.top;
return OK;
}
                    
                
                
            
        
浙公网安备 33010602011771号