美文网首页
栈(Stack)与队列(Queue)

栈(Stack)与队列(Queue)

作者: qil231 | 来源:发表于2017-08-03 19:42 被阅读0次

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

对栈的基本操作有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();
  }
}

相关文章

网友评论

      本文标题:栈(Stack)与队列(Queue)

      本文链接:https://www.haomeiwen.com/subject/qhfmlxtx.html