数据结构-栈的实现-顺序栈出栈

2023-04-29 来源:飞速影视
出栈操作是将栈顶元素删除。基本的算法思想如下:
(1)判断栈是否为空,如果为空则返回ERROR。
(2)将栈顶指针减1,栈顶元素出栈。
采用以下图示说明出栈。
(1)初始状态下,栈中存放5个元素,s.top是栈顶指针,s.base是栈底指针。

数据结构-栈的实现-顺序栈出栈


(2)将栈中的元素出栈。此时需要将栈顶指针减1,指向下一个位置,并且将出栈的元素10赋值给e。将值赋给e,可以将出栈的值返回。

数据结构-栈的实现-顺序栈出栈


(3)最后栈顶指针指向了出栈元素的位置。

数据结构-栈的实现-顺序栈出栈


将上述所有的操作转变为代码实现

数据结构-栈的实现-顺序栈出栈


定义Pop为出栈函数,主要实现删除栈S中的栈顶元素,将值赋给e。
首先需要判断栈是否为空,如果为空,则没有元素出栈,返回ERROR
if(S.top == S.base) return ERROR;
然后将栈顶指针减1,指向栈顶元素
S.top--;
最后将栈顶元素的值赋值给e,通过int &e返回
e = *S.top;
注意将栈顶指针减1,栈顶元素出栈,也可以归并如下:
e = *--S.top;

相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号