二十三 基於堆實現優先佇列
阿新 • • 發佈:2018-12-04
複雜度分:
基於堆實現優先佇列:
package com.lt.datastructure.MaxHeap; import com.lt.datastructure.Queue.Queue; /** * 堆實現優先佇列 */ public class PriorityQueue<E extends Comparable<E>> implements Queue<E> { private MaxHeap<E> maxHeap; public PriorityQueue() { maxHeap= new MaxHeap<>(); } @Override public int getSize() { return maxHeap.size(); } @Override public boolean isEmpty() { return maxHeap.isEmpty(); } @Override public E getFront(E e) { //查詢隊首元素 return maxHeap.findMax(); } @Overridepublic void enqueue(E e) { maxHeap.add(e); } @Override public E dequeue() { //最大值先出隊 return maxHeap.extractMax(); } }