数据结构——LinkedQueue的实现
来源:互联网 发布:网络管理师考试内容 编辑:程序博客网 时间:2024/06/07 00:23
队列是一种先进先出(FIFO)的数据结构,LinkedQueue是用链表实现的,另外还可以用回环数组的方式实现。
LinkedQueue
import java.util.NoSuchElementException;/** * 用单链表的形式实现链式队列 * 该实现包含有一个指向尾部节点的引用,方便入队列操作的实现 * @author Bingo * * @param <T> */public class LinkedQueue<T> { private int size; private Node<T> head; private Node<T> tail; public LinkedQueue(){ size = 0; tail = head = new Node<T>(null, null); } public int size(){ return size; } public boolean isEmpty(){ return size() == 0; //return head == tail; } /** * 进队列,在链表的尾部添加新的元素 * @param ele */ public void enqueue(T ele){ Node<T> newNode = new Node<T>(ele, null); tail.next = newNode; tail = newNode; size++; } /** * 出队列,在链表的头部取出元素 * @return */ public T dequeue(){ if(isEmpty()) throw new NoSuchElementException("queue is empty."); T oldElement = head.next.element; head.next = head.next.next; size--; return oldElement; } /** * 私有节点类,保存节点元素值和指向下一个节点的引用 * @author Bingo * * @param <T> */ private static class Node<T>{ public T element; public Node<T> next; public Node(T element, Node<T> next){ this.element = element; this.next = next; } } @Override public String toString() { return "size = " + size(); }}
0 0
- 数据结构——LinkedQueue的实现
- java数据结构之LinkedQueue(用链表实现的双端单向队列)
- CAS实现的一个简单LinkedQueue
- LinkedQueue链式队列方法的实现
- [C++]数据结构:链表描述的队列LinkedQueue类
- 数据结构—单链表的实现
- LinkedStack, LinkedQueue
- 数据结构—栈的顺序的实现
- 数据结构的实现——顺序表
- 数据结构的Java实现——单链表
- 数据结构——KMP算法的实现
- map的实现数据结构——红黑树
- 数据结构(Java)——队列的实现
- 数据结构(Java)——列表的实现
- 数据结构——二叉树的实现
- 数据结构——SimpleList的实现
- 数据结构之——单链表的实现
- 数据结构之——双链表的实现
- 构建微服务-目录
- IOS9新特性 – Search APIs
- 如何更好的设计android图标,拉伸不变形等等系列优点,而且减小apk大小
- 使用Reveal分析任意App
- xcode之debugging
- 数据结构——LinkedQueue的实现
- IOS 9 学习系列:Xcode Code Coverage Tools
- Weblogic简介
- PHP环境搭建
- CSS
- 代码优化技巧
- HTML5晃动DeviceMotionEvent事件
- 一起talk C栗子吧(第一百一十六回:C语言实例--线程同步之互斥量二)
- DB2数据库优化需要掌握的几条基本策略