栈(Stack)与队列(Queue)

2017-08-03  本文已影响0人  qil231

栈和队列也是比较常见的数据结构,它们是比较特殊的线性表,因为对于栈来说,访问、插入和删除元素只能在栈顶进行,对于队列来说,元素只能从队列尾插入,从队列头访问和删除。

对栈的基本操作有push(进栈)和pop(出栈),前者相当于插入,后者相当于删除最后一个元素。栈有时又叫作LIFO(Last In First Out)表,即后进先出。

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

//利用LinkedList来实现队列类
public class MyQueue<E> {
  private LinkedList<E> list = new LinkedList<>();

  //入队
  public void enqueue(E e) {
    list.addLast(e);
  }

  //出队
  public E dequeue() {
    return list.removeFirst();
  }
}
上一篇 下一篇

猜你喜欢

热点阅读