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(); }}