java环形队列测试,JAVA数据结构之循环队列的实现
1、循環(huán)隊列CircleQueue類的實現(xiàn)代碼如下所示:
public class CircleQueue {
private Object[] array;
private int capacity;//隊列容量
private int count;//隊列中元素的個數(shù)
private int front;
private int rear;
public CircleQueue(int capacity){
this.capacity = capacity;
array = new Object[capacity];
count = 0;
front = 0;
rear = 0;
}
//入隊
public boolean append(Object data){
boolean ret = (array != null) && (capacity > 0);
if(ret){
array[rear] = data;
rear = (rear + 1) % capacity;
count++;
if(count > capacity){
count = capacity;
}
}
return ret;
}
//出隊
public Object retrieve(){
Object data = null;
if((array != null) && (capacity > 0) && (count > 0)){
data = array[front];
array[front] = null;
front = (front + 1) % capacity;
count--;
}
return data;
}
//獲取隊列中元素的個數(shù)
public int getCount(){
return count;
}
//獲取隊列的容量
public int getCapacity(){
return capacity;
}
//查看隊頭的數(shù)據(jù),只查看,不刪除。
public Object getHead(){
Object ret = null;
if(array != null && capacity > 0 && count > 0){
ret = array[front];
}
return ret;
}
public boolean isEmpty(){
return count == 0;
}
//清空隊列中的元素
public void clear(){
array = null;
array = new Object[capacity];
count = 0;
front = 0;
rear = 0;
}
public void destroy(){
array = null;
count = 0;
front = 0;
rear = 0;
}
}
2、測試類Test的實現(xiàn)代碼如下所示:
public class Test {
public static void main(String[] args) {
CircleQueue queue = new CircleQueue(5);
queue.append("元素1");
queue.append("元素2");
queue.append("元素3");
queue.append("元素4");
queue.append("元素5");
queue.append("元素6");
queue.append("元素7");
System.out.println("隊列的容量:"+queue.getCapacity());
System.out.println("隊列中元素的個數(shù):"+queue.getCount());
System.out.println("隊列是否為空?"+queue.isEmpty());
System.out.println("隊頭元素:"+queue.getHead());
System.out.println("出隊:");
while(!queue.isEmpty()){
System.out.print(queue.retrieve()+"? ");
}
queue.clear();
System.out.println("\n\n隊列的容量:"+queue.getCapacity());
System.out.println("隊列中元素的個數(shù):"+queue.getCount());
System.out.println("隊列是否為空?"+queue.isEmpty());
queue.destroy();
}
}
總結(jié)
以上是生活随笔為你收集整理的java环形队列测试,JAVA数据结构之循环队列的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 接口传值后不起作用_聊一聊 API 接口
- 下一篇: c语言表达式与变量区别,C语言实战开发—