1.优先队列算法

mysql的排序如果limit比拟小的话会应用优先队列算法。如果limit比拟大采纳的是归并排序算法。
实现:

public class PriorityQueue<E> {    private BinaryHeap<E> heap;        public PriorityQueue(Comparator<E> comparator) {        heap = new BinaryHeap<>(comparator);    }        public PriorityQueue() {        this(null);    }        public int size() {        return heap.size();    }    public boolean isEmpty() {        return heap.isEmpty();    }        public void clear() {        heap.clear();    }    public void enQueue(E element) {        heap.add(element);    }    public E deQueue() {        return heap.remove();    }    public E front() {        return heap.get();    }}