顺序栈和链栈(stack)
栈的定义:它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
我们把栈分为顺序栈和链栈两种,两者分别用不同方法定义
我们先来看顺序栈的定义:
再看一下链栈的定义:
-------------------------------------------------------------------------------------------------------------
顺序栈功能的实现:
①:初始化
②:判满
③:压栈
④:判空
⑤:出栈
⑥:若顺序栈存在,则获得栈顶元素
⑦:获得顺序栈的有效长度
⑧:清空顺序栈
⑨:毁灭顺序栈
-------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
链栈功能的实现:
①:初始化
②:动态开辟结点
③:压栈
④:判空
⑤:出栈并将其值返回
⑥:获得链栈的有效长度
⑦清空链栈
⑧毁灭链栈
-------------------------------------------------------------------------------------------------------------