数据结构与算法队列

Posted jiwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法队列相关的知识,希望对你有一定的参考价值。

 

循环队列

public class CircularQueue 
  // 数组:items,数组大小:n
  private String[] items;
  private int n = 0;
  // head 表示队头下标,tail 表示队尾下标
  private int head = 0;
  private int tail = 0;

  // 申请一个大小为 capacity 的数组
  public CircularQueue(int capacity) 
    items = new String[capacity];
    n = capacity;
  

  // 入队
  public boolean enqueue(String item) 
    // 队列满了
    if ((tail + 1) % n == head) return false;
    items[tail] = item;
    tail = (tail + 1) % n;
    return true;
  

  // 出队
  public String dequeue() 
    // 如果 head == tail 表示队列为空
    if (head == tail) return null;
    String ret = items[head];
    head = (head + 1) % n;
    return ret;
  

  

以上是关于数据结构与算法队列的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法--队列

Python数据结构与算法(3.5)——双端队列

数据结构与算法学习笔记栈和队列

数据结构与算法—队列queue

数据结构与算法——优先队列和堆

手撸golang 基本数据结构与算法 队列