1 队列模型
1.1 定义
队列(queue)是插入在一端进行而删除在另一端进行的表
先进先出(FIFO)表
1.2 基本操作
enqueue(入队):在队尾(rear)插入元素
dequeue(出队):删除队头(front)的元素
1.3 特性
以常数时间运行
2 队列的实现
2.1 队列的链表实现
package chapter2.queue.queue_linkedList;
import chapter2.linkedList.MyLinkedList;
public class LinkedListQueue {
private int size;
private MyLinkedList linkedList;
LinkedListQueue() {
linkedList = new MyLinkedList();
size = 0;
}
/**
* 入队
*
* @param element 入队的元素
*/
public void enqueue(Object element) {
linkedList.add(element);
size++;
}
/**
* 出队
*
* @return 出队的元素
*/
public Object dequeue() {
if (isEmpty()) {
System.out.println("队列为空!");
return null;
}
size--;
return linkedList.remove(0);
}
/**
* 获取队头元素
*
* @return 队头元素
*/
public Object first() {
if (isEmpty()) {
System.out.println("队列为空!"</