堆栈pust, pop 的问题,很简单!!!

来源:百度知道 编辑:UC知道 时间:2024/07/05 06:54:31
问题是如果
push D1
push D2
push D3
出栈的时候没有pop D3,也就是
pop D2
pop D1
如果这样的话,程序流程中什么被改变???

D3 的内容 放进 D2了
D2 的内容 放进 D1了
D1 的内容还在堆栈里

堆栈原则为先进后出
正确应为:
push D1
push D2
push D3

pop D3
pop D2
pop D1
你的程序出栈后D2=原D3,D1=原D2,原D1内容未出栈

Push(&S,e):结果:插入元素e为新的栈顶元素!Pop(&S,&e):删除s的栈顶元素,并用e返回其值

后进先出。