class PriorityQueue {
int a[];
int maxSize;
int nItems;
public PriorityQueue(int size){
maxSize = size;
a = new int[maxSize];
nItems = 0;
}
public void inset(int value){
int j;
if(nItems == 0){
a[nItems++] = value;
}else {
for(j=nItems - 1;j>=0;j--){
if(value > a[j]){
a[j+1] = a[j];
}else {
break;
}
}
a[j+1] = value;
nItems ++;
}
}
public int remove(){
return a[--nItems];
}
public int peekMin(){
return a[nItems - 1];
}
public boolean isFull(){
return nItems == maxSize;
}
public boolean isEmpty(){
return nItems == 0;
}
public static void main(String[] args){
PriorityQueue pq = new PriorityQueue(10);
pq.inset(56);
pq.inset(5);
pq.inset(6);
pq.inset(99);
pq.inset(1);
pq.inset(35);
pq.inset(25);
while (!pq.isEmpty()){
int value = pq.remove();
System.out.print(value + " ");
}
}
}
