Create a Priority Queue with all methods.
Anonimo
import java.util.*; public class PriorityQueue { List queue=new ArrayList(); public PriorityQueue() { } public boolean isEmpty() { return queue.isEmpty(); } public String delete() { //returns the node with the highest priority int size=queue.size(); if(size==0) return null; String result= queue.get(0).data; queue.get(0).data=queue.get(size-1).data; queue.get(0).priority=queue.get(size-1).priority; queue.remove(size-1); if(size-1>1) reHeap(0,size-1); return result; } private void reHeap(int current,int size) { int left=2* current +1; if(left>=size) return; int biggest; if(queue.get(current).priority0 && queue.get(n).priority > queue.get(parent).priority ) { int tempP=queue.get(n).priority; queue.get(n).priority=queue.get(parent).priority; queue.get(parent).priority=tempP; String tempD=queue.get(n).data; queue.get(n).data=queue.get(parent).data; queue.get(parent).data=tempD; n=parent; parent=(n-1)/2; } } private class Node { int priority; String data; public Node() { } public Node(int p, String d) { priority=p; data=d; } public int getPriority() { return priority; } public String getData() { return data; } } }