栈是在一端进行插入和删除的线性表。栈顶---允许插入、删除的这一端,栈顶的当前位置是动态变化的;不允许插入和删除的一端称为栈底,栈底是固定不变得,当表中无元素时称为空栈。
对栈的常用操作有:
- 栈 初 始 化: Init_Stack() 初始条件:栈不存在 操作结果:构造了一个空栈
- 判 断 空: Empty_Stack() 若栈空,则返回为1,否则返回0
- 入 栈: Push_Stack(S,x) 初始条件:栈S已经存在 操作结果:在栈S的顶部插入一个元素x,这样x就、成为新的栈顶元素。
- 出 栈: Pop_Stack(S,&x) 初始条件:栈S存在且不为空 操作结果:栈S的顶部元素从栈顶删除,保存在变量x中
- 取栈顶元素: GetTop_Stack(S) 初始条件:栈s存在且不为空 操作结果:返回栈S的栈顶元素,且原栈的结构不会变化
- 销 毁 栈: Destory_Stack(S) 初始条件:栈S已经存在 操作结果: 销毁一个已经存在的栈
栈的存储方式:(1)顺序存储 (2)链式存储
参考:http://blog.sina.com.cn/s/blog_8c5b746601019wxc.html
http://zh.wikipedia.org/wiki/%E5%A0%86%E6%A0%88
http://en.wikipedia.org/wiki/Stack_(computing)#Computers
时间: 2024-12-11 19:38:22