public class PriorityQ {
private long[] queArray;
private int maxSize;
private int nItems;
public PriorityQ(int size) {
maxSize = size;
queArray = new long[maxSize];
nItems = 0;
}
public void insert(long item) {
int j;
if (nItems == 0) {
queArray[nItems++] = item;
} else {
for (j = nItems-1; j >=0 ; j--){
if (item > queArray[j])
queArray[j+1] = queArray[j];
else
break;
}
queArray[j+1]=item;
nItems++;
}
}
public long remove() {
return queArray[--nItems];
}
public long peekMin(){
return queArray[nItems-1];
}
public boolean isEmpty() {
return nItems == 0;
}
}
public class PriorityQApp {
public static void main(String[] args) {
PriorityQ queue = new PriorityQ(10);
queue.insert(20);
queue.insert(10);
queue.insert(22);
queue.insert(25);
queue.insert(60);
queue.insert(90);
queue.insert(96);
queue.insert(5);
queue.insert(40);
queue.insert(100);
while(!queue.isEmpty()) {
long item = queue.remove();
System.out.print(item + "\t");
}
}
}
运行结果:
5 10 20 22 25 40 60 90 96 100
有序队列(Java版)
猜你喜欢
转载自blog.csdn.net/A_bad_horse/article/details/104835291
今日推荐
周排行