本文实例讲述了Java数据结构之有效队列定义与用法。分享给大家供大家参考,具体如下:
/**
* @描述 有序对列
* 从任何位置插入数据都是有序的
* @项目名称 Java_DataStruct
* @包名 com.java.stack
* @类名 Queue
* @author chenlin
*/
public class SequeQueue {
private long[] arr;
private int maxSize;// 最大空间
private int len;// 有效长度
public SequeQueue(int size) {
this.maxSize = size;
this.arr = new long[maxSize];
this.len = 0;
}
/**
*插入数据
*
* @param value
*/
public void insert(long value) {
int i;
for (i = 0; i < len; i++) {
//得到i
if (value > arr[i]) {
break;
}
}
//移动数据,把前面的数据往后移动一位
for (int j = len; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[i] = value;
len ++;
}
/**
* 移除数据,每次移除最后一位,长度--
* 数组从0到len - 1;
*/
public long remove() {
long value = arr[len - 1];
len --;
return value;
}
/**
* 判断是否为空
*
* @return
*/
public boolean isEmpty() {
return (len == 0);
}
/**
* 判断是否满了
*
* @return
*/
public boolean isFull() {
return (len == maxSize);
}
/**
* 获得队列的有效长度
*
* @return
*/
public int size() {
return len;
}
public static void main(String[] args) {
SequeQueue queue = new SequeQueue(8);
queue.insert(22);
queue.insert(33);
queue.insert(44);
queue.insert(534);
queue.insert(21);
queue.insert(55);
System.out.println("脚本之家测试结果:");
while (!queue.isEmpty()) {
System.out.println(queue.remove());
}
}
}
运行结果:
洋果子店rose最新版本
洋果子店最新版是一款十分容易让人垂涎的开店经营类手游。游戏玩
明日大亨最新版
明日大亨手游,一个非常经典有趣的模拟经营类型的商战手游,在游
早安我的少年日服最新版2024
早安我的少年日服是一款治愈恋爱手游,清新明亮的游戏画面,让你
我的世界基岩版1.16正式版
我的世界基岩版是一款模拟经营手游,游戏采用的是经典像素玩法,
早安我的少年最新版2024
早安我的少年是一款养成恋爱手游,在这款游戏中,玩家们将可以体