概述
- 队列,先进先出。
- 队列,有顺序队列(数组实现),和链式队列(链表实现)。
由于顺序队列在队列放满后,需要移位,就是将队头到队尾之间的数据平移,使队头指向数组下标0的位置。
如果不想平移,那么就试试循环队列吧(基于数组实现的循环队列)。
如下代码:
public class CircularQueue {
// 数组items,数组大小n
private String[] items;
private int n;
// 队头下标
private int head = 0;
// 队尾下标
private int tail = 0;
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(){
// 队空
if (head == tail) {
return null;
}
String ret = items[head];
head = (head + 1) % n;
return ret;
}
}
最后
以上就是简单茉莉为你收集整理的基于数组实现的循环队列的全部内容,希望文章能够帮你解决基于数组实现的循环队列所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复