week8.9-数据结构4.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.3 栈和队列 栈 栈的结构特点 栈的存储结构 顺序栈 栈类分析 栈类设计 栈类实现 链式栈 栈类分析 栈类设计 栈类实现 栈的应用 一、栈的结构特点 一种 的线性数据结构是 先进后出 先进后出 栈! ? 实际生活中你还碰到过哪些使用栈的例子? 通过浏览器的“后退”键浏览链接过的网页 应用软件中的undo(撤销)功能 递归函数的调用 …… 插入和删除元素操作只能在表的一端进行,这种线性表称为堆栈。 C B A 插入 进栈 删除 出栈 栈顶 栈底 假设A、B、C依次进栈,会有哪些出栈次序? ? ABC、BAC、CBA 限定在一端进行插入与删除的线性表。 允许插入和删除的一端称为栈顶,而不允许插入和删除的另一端称为栈底。 给定栈 (a1,a2, … ,an),则称a1为栈底元素, an为栈顶元素。 特点 后进先出(LIFO)或先进后出(FILO)的线性表。 元素的插入称为进栈, 元素的删除称为出栈。 关于栈的描述: 用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素 用一维数组stack[volume],表示栈 设下标top,指示栈顶元素的位置 初始化 top=-1 最早入栈的元素: 最迟入栈的元素: 当 时,为栈满. 当 时,为栈空。 二、顺序存储的栈 stack[0] stack[top] top=volume-1 top=-1 数据元素和栈顶下标之间的对应关系 A1 A2 A3 A4 A5 A6 内存储器 top 5 栈顶 0 栈底 进栈(x) 出栈 进栈的核心操作: ; ; 出栈的核心操作: ; ; 1 2 3 4 top++ stack[top]=x x=stack[top] top-- 属性: 栈中数据集合stack; 栈顶位置top; 栈容量volume; 栈的操作方法: 构造方法 入栈 出栈 获取栈顶元素的值 判栈空(如果栈空,则不能进行出栈操作) 判栈满(如果满栈,就不能再有元素入栈) 顺序栈----类分析 class ArrayStack { private DataType [] stack; // 存放进栈数据的数组 private int volume; // 栈的容量 private int top; //栈顶下标 public ArrayStack(int n) //构造函数 {具体实现} public DataType GetTopValue() {具体实现} public bool Push(DataType value) // 入栈 {具体实现} public bool Pop(out DataType element) // 退栈 {具体实现} public bool IsEmpty() //判断栈是否为空 {具体实现} public bool IsFull( ) {具体实现} //判断栈是否为满 } 顺序栈----类设计 设计具体栈时为栈中元素类型 顺序栈---类方法实现(以栈中数据int类型为例) public ArrayStack(int n) //构造方法 { ; ; ; } public bool IsEmpty() // 判断栈是否为空 { ; } public bool IsFull() // 判栈满 { ; } volume= n top = -1 stack = new int[n] return top == -1 return top==volume-1 public bool Push(int value) // 进栈 { if( ) return false; else

文档评论(0)

mmc566887 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档