数据结构003-栈和队列资料.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 栈和队列 数据结构 赵龙文 lwzhao@ 1 主要内容 1 栈 1.1、栈的抽象数据类型及其基本操作 1.2、栈的数组存储表示 — 顺序栈 1.3、栈的链表存储表示 — 链式栈 1.4、 栈的应用 2 队列 2.1、队列的抽象数据类型 2.2、队列的数组存储表示 - 顺序队列 2.3、循环队列 (Circular Queue) 2.4、队列的链接存储表示 — 链式队列 2.5、优先级队列 (Priority Queue) 2.6、队列的应用 2 栈和队列 通常称,栈和队列是限定插入和删除只能在表的“端点”进行的线性表。 栈和队列是两种操作受限的线性表,是两种常用的数据类型。 线性表 栈 队列 Insert(i, x) Insert(n, x) Insert(n, x) 0≤i≤n Delete(i) Delete(n-1) Delete(0) 0≤i≤n-1 3 1、栈(Stack) 定义: 只允许在一端插入和删除的线性表。 概念: 栈顶(top); 栈底(bottom); 入栈(Push); 出栈(Pop); 特点: 后进先出 (LIFO) 可以对输入序列求逆 出栈 Pop 入栈 Push top bottom a0 ? an-2 an-1 ? 4 【思考题】: 设有编号为1,2,3,4的四辆列车,顺序进一个栈式结构的站台,具体写出这四辆列车开出车站的所有可能的顺序。 1、2、3、4; 1、2、4、3; 1、3、2、4; 1、3、4、2; 1、4、3、2; 2、1、3、4; 2、1、4、3; 2、3、4、1; 2、3、1、4 ; 2、4、3、1; 3、2、1、4; 3、2、4、1; 3、4、2、1; 4、3、2、1。 5 1.1、栈的抽象数据类型及其基本操作 ADT Stack { Data: ...... Operator: 栈初始化 入栈Push push( T x ); 出栈Pop pop( ); 判断栈是否空IsEmpty IsEmpty( ); 读取栈顶元素peek peek ( ); 置空栈clear clear( ); 判断栈是否满IsFull IsFull( ); } 6 栈的抽象数据类型(Java) //栈接口,描述栈抽象数据类型 public interface IStack{ public void clear(); public boolean isEmpty(); public int length(); public Object peek(); public void push(Object x) throws Exception; public Object pop(); } 实现此接口的方法有两种: 顺序栈 链栈 7 1.2、栈的数组存储表示 — 顺序栈 DATA: object stackElem[ ]; //栈元素数组 int top; //栈顶 (int curLen) int maxSize; //栈最大容量 (int stackElem.length) top stackElem 0 1 2 3 4 5 6 7 8 9 maxSize-1 bottom 入栈:stackElem[top++]= x 出栈:return stackElem[--top] 栈空:top= 0 栈满:top=maxSize 入栈? 出栈? 栈空? 栈满? 栈的长度? 栈顶元素? 8 顺序栈的类定义 public class SqStack implements IStack { private Object[] stackElem; // 栈存储空间 private int top; // 非空栈中始终表示栈顶元素的下一个位置,当栈为空时其值为0 public SqStack(int maxSize) { // 构造一个存储空间容量为maxSize的栈 top = 0; // 初始化top为0 stackElem = new Object[m

文档评论(0)

tt435678 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档