java优先队列的实现

//以堆作为底层数据结构实现,对的实现看上一篇文章

public class PriorityQueue<E extends Comparable<E>> {
    
    private MaxHeap maxHeap  ;
    public PriorityQueue() {
        maxHeap = new MaxHeap() ;
    }
    
    public void enQueue(E e) {
        maxHeap.add(e);
    }
    
    public E deQueue() {
        return (E) maxHeap.extractMax() ;
    }
    
    public boolean isEMpty() {
        return maxHeap.isEmpty() ;
    }
    
    public int getSize() {
        return maxHeap.getSize() ;
    }
    
    public E getFront() {
        return (E)maxHeap.getFront() ;
    }
    
    public static void main(String[] args) {
        PriorityQueue<Integer> PQ = new PriorityQueue<>()  ;
        PQ.enQueue(12);
        PQ.enQueue(13);
        PQ.enQueue(14);
        PQ.enQueue(9);
        PQ.enQueue(4);
        System.out.println("输出队首元素:");
        System.out.println(PQ.getFront());
        System.out.println("删除队首元素:");
        System.out.println(PQ.deQueue());
        System.out.println("获取队首元素:");
        System.out.println(PQ.getFront());
        System.out.println("获取队列的大小:");
        System.out.println(PQ.getSize());
        System.out.println("判断队列是否为空:");
        System.out.println(PQ.isEMpty());
    }
}

 

java优先队列的实现