美文网首页
栈结构的实现

栈结构的实现

作者: 旅行者_sz | 来源:发表于2020-04-11 10:32 被阅读0次

    前言:

    栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

    一、顺序存储

    1.栈的顺序存储结构体:

    2.构建一个空栈:

    3.判断栈是否为空:

    4.将栈置空:

    5.获取栈顶元素:

    6.删除栈顶元素:

    7.插入元素e为新栈顶元素:

    8. 从栈底到栈顶依次对栈中的每个元素打印:

    二、链式存储

    1.栈的链式结构:

    2.构建空栈:

    3.将栈S置空:

    4.插入元素e到链栈S (成为栈顶新元素):

    5.若栈不为空,则删除S的栈顶元素,用e返回其值. 并返回OK,否则返回ERROR:

    三、栈的应用 ---递归:因为程序中的栈结构是顺序栈,因此,如果递归的次数过多,程序中的数据过大,在不断的压栈过程中造成栈空间耗尽而产生栈溢出;栈溢出常由于函数递归过深或局部数组过大造成。

    🌰:

    1.斐波拉契数列:

    2.Hanoi 塔问题:

    相关文章

      网友评论

          本文标题:栈结构的实现

          本文链接:https://www.haomeiwen.com/subject/ucplmhtx.html