对列:
先进先出
public class Queue {
private int maxSize;
private long arr [];
private int elems;
private int font;
private int end;
public Queue(int maxSize) {
this.maxSize = maxSize;
arr = new long [maxSize];
elems = 0;
font = 0;
end = -1;
}
/**
* 插入数据
* @param value
*/
public void insert(long value) {
if(isFull()) {
System.out.println("已经满了,不能再继续插入。");
}else {
if(end == (maxSize-1)){
end = -1;
}
arr[++end] = value;
elems ++;
}
}
/**
* 移除数据
* @return
*/
public long remove() {
long temp = arr[font++];
elems --;
if(font == maxSize)
font = 0;
return temp;
}
/**
* 判断是否为空
* @return
*/
public boolean isEmpty() {
return (elems == 0);
}
/**
* 判断是否满了
* @return
*/
public boolean isFull() {
return (elems == maxSize);
}
/**
* 返回大小
* @return
*/
public int size() {
return elems;
}
}
测试:
public class TestQueue {
public static void main(String[] args) {
Queue queue = new Queue(5);
System.out.println(queue.isEmpty());
queue.insert(5);
queue.insert(4);
queue.insert(3);
queue.insert(2);
queue.insert(1);
queue.insert(0);
System.out.println(queue.size());
System.out.println(queue.isFull());
while(!queue.isEmpty()) {
System.out.print(queue.remove() + "\t");
}
System.out.println();
System.out.println(queue.size());
queue.insert(5);
queue.insert(4);
queue.insert(3);
queue.insert(2);
queue.insert(1);
while(!queue.isEmpty()) {
System.out.print(queue.remove() + "\t");
}
queue.remove();
}
}
java 队列
最新推荐文章于 2024-04-28 11:20:52 发布