栈
栈(Stack)
1、顺序栈的定义
- 堆栈又名栈(stack),它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈遵循“后进先出”(Last In First Out,LIFO)的原则,即最后一个被放入栈中的元素总是第一个被取出。
- 先进入栈的元素在底部,接着进去的在底部上面一个位置,出栈的时候从栈顶取。类似于自动步枪的弹夹,最先进入弹匣的,是最后射出的。
2、栈的特点
- 栈(stack)是后进先出(last-in-first-out,LIFO)或先进后出(FILO)的
- 栈有三个基础操作压入(push),弹出(pop),取数(getTop)操作都为 O(1)时间
- 栈有一个计数器 counter 或栈顶指针
3、栈的基本操作
-
建栈(init):在使用栈之前,首先需要建立一个空栈,称建栈;
-
压栈(push):往栈顶加入一个新元素,称进栈(压栈);
-
出栈(pop):删除栈顶元素,称出栈(退栈、弹出);
-
取栈顶(gettop):查看当前的栈顶元素,称读栈;
-
测试栈(empty)在使用栈的过程中,还要不断测试栈是否为空或已满,称为测试 栈;
-
显示栈(display):输出栈的所有元素;
-
释放栈(setnull):清空栈;
4、栈的操作代码
初始化、入栈、出栈、显示栈!
1 |
|
评论