优先队列 01 基于最大堆的优先队列

基于最大堆的优先队列

  • 从队列的角度来看,优先队列,入队的时候,优先级高的元素会插队,插到它该排的位置,整个队列从队首到队尾,优先级一次降低;
public class PriorityQueue> implements Queue {

    private MaxHeap maxHeap;

    public PriorityQueue(){
        maxHeap = new MaxHeap<>();
    }

    @Override
    public int getSize(){
        return maxHeap.size();
    }

    @Override
    public boolean isEmpty(){
        return maxHeap.isEmpty();
    }

    @Override
    public E getFront(){
        return maxHeap.findMax();
    }

    @Override
    public void enqueue(E e){
        maxHeap.add(e);
    }

    @Override
    public E dequeue(){
        return maxHeap.extractMax();
    }

}

你可能感兴趣的:(优先队列 01 基于最大堆的优先队列)