码迷,mamicode.com
首页 > 编程语言 > 详细

【数据结构与算法】(四)队列

时间:2019-08-20 00:36:38      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:string   boolean   items   表示   数组   capacity   class   queue   出队   

 

循环队列

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;
  }
}

  

【数据结构与算法】(四)队列

标签:string   boolean   items   表示   数组   capacity   class   queue   出队   

原文地址:https://www.cnblogs.com/jiwen/p/11380610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!