数据结构论坛

首页 » 分类 » 分类 » 数据结构栈的实现顺序栈出栈
TUhjnbcbe - 2023/11/1 20:56:00

出栈操作是将栈顶元素删除。基本的算法思想如下:

(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)returnERROR;

然后将栈顶指针减1,指向栈顶元素

S.top--;

最后将栈顶元素的值赋值给e,通过inte返回

e=*S.top;

注意将栈顶指针减1,栈顶元素出栈,也可以归并如下:

e=*--S.top;

1
查看完整版本: 数据结构栈的实现顺序栈出栈