PriorityQueue
优先级队列中的元素可以按照任意的顺序插入,却总是按照排序的顺序进行检索。无论何时调用remove方法,总会获得当前优先级队列中的最小元素(其实是返回堆顶元素),但并不是对所有元素都排序。它是采用了堆(一个可以自我调整的二叉树),执行增加删除操作后,可以让最小元素移动到根。
堆排序复习
package com.jefflee;
import java.util.Arrays;
public class HeapSort {
private int[] arr;
public HeapSort(int[] arr) {
this.arr = arr;
}
/**
* 堆排序
*/
public void sort(){
/*
*第一步 将数组堆化
*beginIndex 是 第一个非叶节点
* 从第一个非页节点开始调整
* 叶子节点可以看作已符合要求,因为调整的结果是自己比自己的子节点都大
*/
int len = arr.length - 1</