栈相关算法_Franco蜡笔小强的博客-CSDN博客_栈相关算法
一.基本概念:
栈(stack)是仅限定在表尾进行插入和删除操作的线性表。
栈就是一个线性表,只不过,栈的Insert 和 delete只能在表尾。
普通的线性表,在表中的任意位置都可以进行insert和delete操作。
LIFO: Last In First Out 后进先出,先进后出。
栈顶(Top): 进行插入和删除操作的一端。
栈底(Bottom)
栈其实我们计算机科学中,更多的一种思想,“先进后出的思想”。在很多算法或应用中,需要用到“先进后出的思想”,我们可以考虑用栈来实现。
二.存储结构:
顺序结构: 用一组地址连续的空间来存储数据元素。
链式结构: 用地址不连续的空间来存储数据元素,可能需要额外开辟一些空间,来存储“数据元素之间的逻辑关系"。
三.栈的基本操作:
(1)初始化一个栈:InitStack
(2)销毁一个栈:DestroyStack
(3)清空一个栈:ClearStack
(4)判断一个栈是否为空:StackIsEmpty
(5)返回栈中元素个数,即栈的长度:StackLength
(6)入栈,把一个元素加入到栈中:Push
(7)出栈,把栈顶元素给干掉:Pop
(8)返回栈顶元素,但不出栈:GetTop
————————————————
版权声明:本文为CSDN博主「程序番茄君」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_56683739/article/details/119917767