目录
说明
文章作于数据结构课程学习过程,旨在用图示区分理解栈的各种基本操作,如有错误,欢迎指正。 (解释:文中矩形框表示实际储存空间,矩形框+圈表示该储存空间储存着某种类型的指针)
栈的部分基本操作图示
void CreateStack(stack* s);//构造一个空栈s
void CreateStack(stack* s) {//构造一个空栈s
s->base=(SElemType*)malloc(sizeof(SElemType)*STACK_SIZE);
s->top = s->base;
s->size = STACK_SIZE;
}
void DestroyStack(stack* s);//销毁栈s,s不再存在
void DestroyStack(stack* s) {//销毁栈s,s不再存在
s->base = NULL;
s->base = s->top = NULL;
s->size = 0;
}
void ClearStack(stack* s);//把s置为空栈
void ClearStack(stack* s) {//把s置为空栈
s->top = s->base;
}