您的位置:首页 > 编程语言 > Java开发

队列:循环队列Java实现

2017-03-16 11:08 507 查看

循环队列原理



Java实现

public class CircleQueue<Item> {
private static final int LENGTH = 4;
private Item[] a = (Item[]) new Object[LENGTH];
private int N;
private int first; // 头
private int last; // 尾

public boolean isEmpty() {
return N == 0;
}

public int size() {
return N;
}

// 入队
public void enqueue(Item item) throws Exception {
if (N > 0 && first == last) {
throw new Exception("队列已满!");
}
a[last] = item;
last = (last + 1) % LENGTH;
N++;
}

public Item dequeue() throws Exception {
if (isEmpty()) {
throw new Exception("队列为空!");
}
Item item = a[first];
first = (first + 1) % LENGTH;
N--;
return item;
}

public static void main(String[] args) throws Exception {
CircleQueue<String> cq = new CircleQueue<>();
System.out.println("元素个数" + cq.size());
cq.enqueue("lzp.");
cq.enqueue("baidu");
cq.enqueue(".com");
cq.enqueue(".cn");
System.out.println("--队列元素个数" + cq.size());
cq.dequeue();
System.out.println("--队列元素个数" + cq.size());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: