欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java 数据结构----Java队列Queue,

来源: javaer 分享于  点击 8509 次 点评:41

Java 数据结构----Java队列Queue,


队列是一种简单的数据结构,与栈的典型特点后入先出(LIFO)相对应,它的典型特点是先入先出(FIFO)。队列至少应包括两个基本的方法,就是入队列和出队列,另外,其基本方法如下:

简单队列示例:

public class Queue<E> {

	private int front;

	private int rear;

	private static final int DEFAULT_SIZE = 10;

	private Object[] queue;

	private int size;

	public Queue() {
		queue = new Object[DEFAULT_SIZE];
		size = 0;
		front = 0;
		rear = -1;
	}

	public Queue(int initSize) {
		queue = new Object[initSize];
		size = 0;
		front = 0;
		rear = -1;
	}

	/**
	 * 入队操作
	 * 
	 * @param e
	 *            待插入队列的对象
	 * @return 插入成功返回true,否则返回false
	 */
	public boolean add(E e) {
		if (isFull()) {
			return false;
		}
		if (rear == queue.length - 1) {
			rear = -1;
		}
		queue[++rear] = e;
		size++;
		return true;
	}

	/**
	 * 出队操作
	 * 
	 * @return
	 */
	public E remove() {
		if (isEmpty()) {
			return null;
		}
		E temp = peek();
		if (front == queue.length - 1) {
			front = 0;
		}
		queue[front++] = null;
		size--;
		return temp;
	}

	/**
	 * 查看队列的对头对象
	 * 
	 * @return
	 */
	public E peek() {
		if (size() > 0) {
			return (E) queue[front];
		}
		return null;
	}

	public int size() {
		return this.size;
	}

	public boolean isEmpty() {
		return size == 0;
	}

	public boolean isFull() {
		return size == queue.length;
	}

Java API中的Queue是一个接口,常用的类LinkedList间接实现了该接口。

相关文章

    暂无相关文章
相关栏目:

用户点评