欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【数据结构】队列--基于数组实现的循环队列

程序员文章站 2022-07-14 12:30:26
...
/**
 * @author zpb 基于数组实现的循环队列
 */

public class CircleQueue {
    String[] mQueue;
    int head = 0;
    int tail = 0;
    int mNumber;

    public CircleQueue(int number) {
        mQueue = new String[number];
        head = 0;
        tail = 0;
        mNumber = number;
    }

    public void eQueue(String value) {
        // 首先判断当前是否已经满了

        if ((tail+1) % mNumber == head) {
            Log.d("zpb", "队列已经满了,插入失败");
            return;
        }
        Log.d("zpb", "插入成功");
        mQueue[tail] = value;
        tail= (tail+1)%mNumber;

    }

    public String deQueue() {
        // 首先判断是否为空
        if (tail == head) {
            Log.d("zpb", "队列队列为空");
            return "";
        }
        String value = mQueue[head];
        Log.d("zpb","出队列="+value);
        head = (head + 1) % mNumber;
        return value;
    }

}