All pastes #490414 Raw Edit

Something

public text v1 · immutable
·published 2007-05-16 00:26 UTC
rendered paste body
package gray.adts.queue;
import java.lang.*;


public class PriorityQueue extends ListQueue<Object> {

    PriorityQueue() {
        super();
    }
    
    ListQueue tempholder = new ListQueue<Object>();
   

    // add the newItem with a priority value of "0" to the back of
    // the priority queue.
    public void enqueue(Object newItem) {
        
        this.enqueue(newItem,0);
    }

    // add the newItem with a priority value of "pri" into the priority
    // queue so that it is located behind all other items with equal or
    // higher priority but ahead of all items with lower priority.
    public void enqueue(Object newItem, int pri) {

        PrioritizedItem pItem = new PrioritizedItem(newItem, pri);
        
       
        PrioritizedItem ptemp= new PrioritizedItem();
 
        while(ptemp.getPriority()<=pri && !super.isEmpty())
        {
        	ptemp=(PrioritizedItem)super.peek();
        	
        	if(ptemp.getPriority()<=pri)
        		tempholder.enqueue(super.dequeue());
        	
        }
        super.enqueue(pItem);
		while(!tempholder.isEmpty())
			super.enqueue(tempholder.dequeue());
       
        
    }
    
    public void PrintQueue()
    {
    	 PrioritizedItem ptemp= new PrioritizedItem();
    	while(!super.isEmpty())
    	{
    		ptemp=(PrioritizedItem)super.dequeue();
    		System.out.print(" [ "+ ptemp.getPrioritizedItem()+"(pri:"+ ptemp.getPriority() + ") ]");
    	}
    		//System.out.println(super.peek());
    }
    
	public static void main(String args[])
	{
		PriorityQueue blah = new PriorityQueue();
		
		blah.enqueue(1, 1); //Must start with a low # otherwise bad things will happen
		blah.enqueue(5, 10);
		blah.enqueue("zero", 0);
		blah.enqueue(0, 0);
		blah.enqueue(5, 10);
		blah.enqueue(30, 30);
		blah.enqueue("super 900 pie", 900);

		blah.PrintQueue();
	}
    

}