java基础复习笔记06数据结构队列.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如有帮助欢迎下载支持 Java基础复习笔记 06 数据结构 -队列 刘岩 Email:suhuanzheng7784877@163.com 1. 队列 队列又是一种比较特殊的线性表,和栈一样在线性表的基础上进行了一些限制操作。就 是队列了。顾名思义,队列就是咱们排队买火车票一样,排在最前面的先买到,排到后 面的后买到。先进先出、后进后出。 2. 队列的操作 队列的操作一般包括:进队列、出队列,访问队列头元素、删除队列头元素、判断队列 是否为空、获得队列大小这些核心操作。 Sun 为 Java 的队列规定了一个规范、反映出来 的的就是 java.util.Queue ,实现了此接口的所有方法,相当于“你按照 Sun 的 Java 规范 为自己写了一个符合规范的队列实现类” 。 3. 队列的使用场景 队列的使用场景其实个人感觉比栈要广泛一些,比如开发网络服务中间件,处理并发消 息的时候就需要将这些消息组成队列的方式一个一个处理,再比如对象池的应用,底层 完全可以做成一个对象队列,将一个用完的对象放回池中后,就是放到等待队列中,先 归还的对象,下次再使用的时候就比后放入的对象优先调用,因为先归还的对象肯定是 休息了很久了,该对象应当回收的资源也都回收了。 4. 队列的顺序实现 和栈结构一样队列也有两种实现方式,先来看顺序的实现方式,顺序实现方式就是利用 数组,记录当前队列头标记 nowTopIndex 以及下一个、新的队列结尾元素的标记 newTailIndex 。 程序如下: package dateStructer.queue; /** * 顺序队列 * * @author liuyan * @param <E> */ public class MyArrayQueue<E> implements Queue<E> { // 默认大小 1 如有帮助欢迎下载支持 private final static int DefSize = 32; // 临时数组 private Object[] objects ; // 当前队列头元素索引 private int nowTopIndex ; // 下一个队列新元素的索引 private int newTailIndex ; public MyArrayQueue() { objects = new Object[ DefSize ]; } /** * 添加元素 */ @Override public boolean add(E e) { int elementSize = newTailIndex - nowTopIndex ; if (elementSize == 0 && newTailIndex == 0) { objects [0] = e; nowTopIndex = 0; newTailIndex = 1; return true ; }

文档评论(0)

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

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

1亿VIP精品文档

相关文档