一、特殊线性表——栈
1.栈的逻辑结构
①栈:限定仅在表尾进行插入和删除操作的线性表。
允许插入和删除的一端称为栈顶,另一端称为栈底。
栈的特殊操作:后进先出。
②栈只是对表插入和删除操作的位置进行了限制,并没有限定插入和删除操作进行的时间。
③栈的抽象数据类型定义
ADT Stack
Data
栈中元素具有相同类型及后进先出特性,
相邻元素具有前驱和后继关系
Operation
InitStack
前置条件:栈不存在
输入:无
功能:栈的初始化
输出:无
后置条件:构造一个空栈
DestroyStack
前置条件:栈已存在
输入:无
功能:销毁栈
输出:无
后置条件:释放栈所占用的存储空间
Push
前置条件:栈已存在
输入:元素值x
功能:在栈顶插入一个元素x
输出:如果插入不成功,抛出异常
后置条件:如果插入成功,栈顶增加一个元素
Pop
前置条件:栈已存在
输入:无
功能:删除栈顶元素
输出:如果删除成功,返回被删元素值,否则,抛出异常
后置条件:如果删除成功,栈减少一个元素
GetTop
前置条件:栈已存在
输入:无
功能:读取当前的栈顶元素
输出:若栈不空,返回当前的栈顶元素值
后置条
数据结构——栈和队列
最新推荐文章于 2022-03-26 16:46:38 发布
本文详细介绍了数据结构中的栈和队列,包括它们的逻辑结构、顺序存储与链接存储的实现,以及特殊操作如入栈、出栈、判断栈空等。还探讨了栈在中缀表达式求值和后缀表达式转换中的应用,以及队列的先进先出特性及其在实际问题中的运用。
摘要由CSDN通过智能技术生成