队列

Posted by icoding168 on 2020-02-26 21:12:32

分类: 数据结构和算法  

队列,是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端进行插入操作,在前端进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。

基于单向链表实现队列


public class LinkedQueue<E> implements Queue<E> {


  private SinglyLinkedList<E> list = new SinglyLinkedList<>();


  public LinkedQueue() { }


  @Override
  public int size() { return list.size(); }


  @Override
  public boolean isEmpty() { return list.isEmpty(); }


  @Override
  public void enqueue(E element) { list.addLast(element); }


  @Override
  public E first() { return list.first(); }


  @Override
  public E dequeue() { return list.removeFirst(); }


  public String toString() {
    return list.toString();
  }
}