队列
2013-11-12 14:13
183 查看
public class GenericQueue<E> { private java.util.LinkedList<E> list = new java.util.LinkedList<E>(); public void enqueue(E e){ list.addLast(e); } public E dequeue(){ return list.removeFirst(); } public int getSize(){ return list.size(); } public String toString(){ return "Queue:" + list.toString(); } }
用数组实现队列:
public class ArrayQueue { private int first, last, size; private Object[] storage; public ArrayQueue(){ } public ArrayQueue(int n){ size = n; storage = new Object[size]; first = last = -1; } public boolean isFull(){ return first == 0 && last == size - 1 || first == last + 1; } public boolean isEmpty(){ return first == -1; } public void enqueue(Object e1){ if(last == size - 1 || last == -1) { storage[0] = e1; last = 0; if(first == -1) first = 0; } else { storage[++last] = e1; } } public Object dequeue(){ Object tmp = storage[first]; if(first == last) last = first - 1; else if(first == size - 1) first = 0; else first++; return tmp; } public void printAll(){ for(int i = 0; i < size;i++) System.out.print(storage[i] + " "); } }
相关文章推荐
- hadoop作业调优参数整理及原理
- 金额大小写转换正则
- Visio2007使用技巧
- [推荐算法]基于用户的协同过滤算法
- ffmpeg中的sws_scale算法性能对比
- Ajax不能接受php return值的原因
- 命令行环境下编译执行java程序步骤
- error while loading shared libraries的解決方法
- 工作3年,也给自己mark一下
- solr安装以及php调用
- excel.SQL
- JAVA的Spring注入机制事例详解
- 角色状态机
- NYOJ 749 Splits the string
- 单选复选(喜欢)
- Mysql Binlog三种格式介绍及分析(转)
- SCP 命令
- sql中的join的使用
- 苹果新手Mac OS X 使用笔记--------系统目录结构
- 使用 HTML5 canvas 绘制精美的图形