数据结构第03章 栈及队列.pptVIP

  • 10
  • 0
  • 约1.51万字
  • 约 84页
  • 2017-06-18 发布于湖北
  • 举报
第三章 栈和队列 数据结构课程的内容 1. 定义 问:堆栈是什么?它与一般线性表有什么不同? 栈示意图 教材P44对栈有更详细定义: 栈的抽象数据类型 ADT Stack{ 数据对象:D={ai | ai ? ElemSet , i=1,2,... ,n,n=0} 数据关系:R={ai-1 ,ai | ai-1 ,ai ? D ,i=2,...,n} 基本操作: 栈初始化:StackInit() 判栈空:StackEmpty(S) 入栈:Push(S,x) 出栈:Pop(S)   读栈顶元素:StackGetTop(S) 销毁栈:StackDestroy (S) 清空栈: StackClear (S) 求栈长:StackLength(S) }ADT Stack 栈的表示和实现 顺序存储结构:顺序栈; 链式存储结构:链栈; 顺序栈 利用一组地址连续的存储单元依次自栈底到栈顶存放栈的数据元素. 在数组上实现时,栈底位置可以设置在数组的任一个端点,而栈顶是随着插入和删除而变化的,可以用一个整形变量top存放栈顶的指针,数据入栈或出栈时使整形变量 top分别加,或减1。 顺序栈示意图 表和栈的操作区别——对线性表 s= (a1 , a2 , …. , an-1 , an ) 入栈操作——例如用堆栈存放(A,B,C,D) (注意要遵循“后进先出”

文档评论(0)

1亿VIP精品文档

相关文档