Implementing Java Priority Queue

Posted by Kay on Stack Overflow See other posts from Stack Overflow or by Kay
Published on 2010-04-24T02:04:18Z Indexed on 2010/04/24 2:13 UTC
Read the original article Hit count: 342

Filed under:
|
|
|
public class PriorityQueue<T> {
    private PriorityNode<T> head, tail;
    private int numItems;

    public PriorityQueue(){
        numItems = 0;
        head=null;
        tail=null;
    }


    public void add(int priority, T value){
            PriorityNode<T> newNode = new PriorityNode<T>(priority,value);

            if(numItems == 0){
                head = newNode;
                tail = newNode;
            }
            else{
                head.setNext(newNode);
                head = newNode;
            }



        }

    }

Where PriorityNode is defined as:

 public class PriorityNode<T> implements Comparable<T> {
        private T value;
        private PriorityNode<T> next;
        private int priority;

        public PriorityNode(int priority,T newValue){
            value = newValue;
            next = null;
            priority = 0;
        }

        public PriorityNode(T newValue){
            value = newValue;
            next = null;
            priority = 0;
        }

        public void setPriority(int priority){
            this.priority = priority;
        }

        public int getPriority(){
            return this.priority;
        }

        public T getValue(){
            return value;
        }

        public PriorityNode<T> getNext(){
            return next;
        }

        public void setNext(PriorityNode<T> nextNode){
            this.next = nextNode;
        }

        public void setValue(T newValue){
            value = newValue;
        }

        public int compareTo(int pri) {
            // TODO Auto-generated method stub
        if(this.priority<pri){
           return -1;
        }
        else if(this.priority == pri){
           return 0;
         }
        else{
           return 1;
         }


        }


    }

I'm having a lot of difficulty using the Comparator here and implementing a priority queue - please point me in the right direction.

© Stack Overflow or respective owner

Related posts about java

Related posts about comparator