package none002;
//优先级队列。。。
//关键字小的优先处理。数组结构实现的优先级队列。
public class PriorityQueueApp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PriorityQueue pq=new PriorityQueue(5);
pq.insert(30);
pq.insert(50);
pq.insert(10);
pq.insert(40);
pq.insert(20);
while(!pq.isEmpty()){
System.out.print(pq.remove()+" ");
}
}
}
class PriorityQueue{
int items;
long[] priQue;
int max;
PriorityQueue(int max){
this.max=max;
priQue=new long[this.max];
items=0;
}
public int size(){
return items;
}
public boolean isFull(){
return items==max;
}
public boolean isEmpty(){
return items==0;
}
public void insert(long value){
int i;
if(items==0)
priQue[items++]=value;
else{
for(i=items-1;i>=0;i--){
if(value>priQue[i])
priQue[i+1]=priQue[i];
else break;
}
priQue[i+1]=value;
items++;
}
}
public long remove(){
return priQue[--items];
}
public long peek(){
return priQue[items-1];
}
}
优先级队列:关键字小的优先处理。数组结构实现的优先级队列
最新推荐文章于 2024-04-09 22:03:48 发布