作业帮 > 综合 > 作业

int Pop(sqstack *s,int e) { if(s->top==s->base) return 0; e=

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/25 23:39:28
int Pop(sqstack *s,int e) { if(s->top==s->base) return 0; e=*--s->top; return e;
pop就是出栈的操作,参数1是栈顶指针,参数2是整型,是用来暂时存储原来栈顶的元素,开始我也觉得不需要用到这个参数,但是想了想,确实需要一个暂时存储的变量,因为出栈的操作分两步,第一步,将栈顶指针地址减一,第二步,将原栈顶元素返回,但是如果你先讲地址减一,则无法获得原栈顶元素的数据,如果先返回,则不能将地址减一,这就是暂存变量的作用.
不过可以修改下,就是在函数内部定义一个整型变量e来暂存,这样不用传一个无用的参数e了.