栈的基本操作
栈的基本操作如下:
(1)初始化一个栈:InitStack
(2)销毁一个栈:DestroyStack
(3)清空一个栈:ClearStack
(4)判断一个栈是否为空:StackIsEmpty
(5)返回栈中元素个数,即栈的长度:StackLength
(6)入栈,把一个元素加入到栈中:Push
(7)出栈,把栈顶元素给干掉:Pop
(8)返回栈顶元素,但不出栈:GetTop
对于栈这一数据结构,我首先写一下它的基本概念。
一.基本概念:
栈(stack)是仅限定在表尾进行插入和删除操作的线性表。
栈就是一个线性表,只不过,栈的Insert 和 delete只能在表尾。
普通的线性表,在表中的任意位置都可以进行insert和delete操作。
LIFO: Last In First Out 后进先出,先进后出。
栈顶(Top): 进行插入和删除操作的一端。
栈底(Bottom)
栈其实我们计算机科学中,更多的一种思想,“先进后出的思想”。在很多算法或应用中,需要用到“先进后出的思想”,我们可以考虑用栈来实现。
二.存储结构:
顺序结构: 用一组地址连续的空间来存储数据元素。
链式结构:用地址不连续的空间来存储数据元素,可能需要额外开辟一些空间,来存储“数据元素之间的逻辑关系"。