Java数据结构实现之队列(1)
来源:互联网 发布:spss数据输入教程 编辑:程序博客网 时间:2024/05/22 13:47
最近在刷leetcode,打算还是做一下笔记吧
队列,特点,先进先出,比较基础的数据结构
mark一下
public class Queue<Item> implements Iterable<Item> { private Node<Item> first; private Node<Item> last; private int n; private static class Node<Item> { private Item item; private Node<Item> next; } /** * 初始化一个空队列. */ public Queue() { first = null; last = null; n = 0; } /** * 是否为空 * @return */ public boolean isEmpty() { return first == null; } /** * 返回队列数目 * @return */ public int size() { return n; } /** * 返回队列First,但是不溢出 * @return */ public Item peek() { if (isEmpty()) throw new NoSuchElementException("Queue underflow"); return first.item; } /** * 入队 * @param item */ public void enqueue(Item item) { Node<Item> oldlast = last; last = new Node<Item>(); last.item = item; last.next = null; if (isEmpty()) first = last; else oldlast.next = last; n++; } /** * 出列 * @return */ public Item dequeue() { if (isEmpty()) throw new NoSuchElementException("Queue underflow"); Item item = first.item; first = first.next; n--; if (isEmpty()) last = null; // to avoid loitering return item; } public String toString() { StringBuilder s = new StringBuilder(); for (Item item : this) { s.append(item); s.append(' '); } return s.toString(); } public Iterator<Item> iterator() { return new ListIterator<Item>(first); } private class ListIterator<Item> implements Iterator<Item> { private Node<Item> current; public ListIterator(Node<Item> first) { current = first; } public boolean hasNext() { return current != null; } public void remove() { throw new UnsupportedOperationException(); } public Item next() { if (!hasNext()) throw new NoSuchElementException(); Item item = current.item; current = current.next; return item; } }}
阅读全文
0 0
- Java数据结构实现之队列(1)
- java 实现数据结构之队列
- java 实现数据结构之队列
- 数据结构之-java实现-队列
- 数据结构之队列【java实现】
- 数据结构之java实现队列
- 数据结构之队列的java实现
- 数据结构之队列的实现(JAVA)
- java数据结构之线性队列的实现
- java数据结构之链式队列的实现
- 数据结构之队列的Java实现
- 数据结构之java实现队列(二)
- 数据结构之java实现链式队列(三)
- JAVA数据结构之顺序队列的实现
- JAVA数据结构之链式队列的实现
- JAVA数据结构之循环队列的实现
- 数据结构学习之队列的Java实现
- java 数据结构 之 队列的实现 (二)
- windows下两分钟搭建git服务器之gogs
- 上白泽慧音 解题报告
- Linux 系统中 hmmlearn 编程环境
- [视频处理]用java程序调用ffmpeg执行视频文件格式转换flv
- 运放参数——压摆率(SR)
- Java数据结构实现之队列(1)
- ADT
- Linux伙伴系统
- 位运算符及其应用
- Centos7.2 Apache根据User-Agent设置访问禁止
- android Launcher3 设置默认桌面应用
- VM虚拟机安装WindowsXp_SP3全过程
- java.lang.ProcessBuilder.command(String command)方法实例 代替命令行方式启动程序
- 使用spring-boot-devtools导致在Eclipse下的UnsatisfiedLinkError问题