数据结构论坛

首页 » 分类 » 问答 » 数据结构栈的实现顺序栈入栈方法
TUhjnbcbe - 2023/10/30 17:14:00
临沂白癜风医院 http://www.xxzywj.com/m/

栈是一种后进先出的数据结构,操作中增加一个栈元素是入栈操作。使用顺序栈时,入栈操作可以分如下步骤进行

(1)判断栈是否已满

(2)将元素入栈

先列出栈定义的结构体,详细参考:数据结构-栈的实现-顺序栈的表示

(1)如何判断栈中元素已满

top是栈顶指针,base是栈底指针,stacksize是栈可用的最大容量,因此判断一个栈是否已满,通过栈顶减去栈底,判断是否等于最大容量。栈顶指针与栈底指针之间相减,得到的是元素的个数。

S.top-S.base==S.stacksize

(2)将元素入栈

先看如下图示

空栈时,top和base指针指向相同的位置

a1入栈,base是栈底指针,指向a1元素,top位置上移

a2入栈,base是栈底指针,指向a1元素,a2元素放到top原指向的位置,top指针上移一位。

根据上述的分析,元素入栈,base指针不变,将元素放在top指针原指向的位置,top指针上移一位。

*S.top=eS.top++

完整的代码示例如下

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