3.3 栈的表示和实现

1、栈的抽象数据类型定义


ADT Stack{
	数据对象:
		D={ ai | ai∈ElemSet,i=1,2,3,...,n。n>=0}
	数据关系:
		R1={ <ai-ai>| ai-1 and ai∈D,i=2,...,n}
		约定an端为栈顶,a1端为栈底
	基本操作:初始化栈、进栈、出栈、取栈顶元素等。
}ADT Stack
  • InitStack(&S) 初始化操作
    • 操作结果:构造一个空栈S
  • DestroyStack(&S) 销毁栈操作
    • 初始条件:栈S已存在
    • 操作结果:栈S被销毁
  • StackEmpty(&S) 判断S是否为空
    • 初始条件:栈S已存在
    • 操作结果:若栈S为空栈,则返回TRUE
      否则FALSE
  • StackLength(&S) 求栈的长度
    • 初始条件:栈S已存在
    • 操作结果:返回S的元素个数,即栈的长度。
  • GetTop(S,&e) 取栈顶元素
    • 初始条件:栈S已存在且非空
    • 操作结果:用e返回S的栈顶元素
  • DestroyStack(&S) 栈置空操作
    • 初始条件:栈S已存在
    • 操作结果:栈S清为空栈
  • Push(&S,e) 入栈操作
    • 初始条件:栈S已存在
    • 操作结果:插入元素e为新的栈顶元素。
  • Pop(&S,&e) 出栈操作
    • 初始条件:栈S已存在且非空
    • 操作结果:删除S的栈顶元素an,并用e返回其值
posted @   什么都会有的  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示