Java八大排序---堆排序
堆排序: 堆排序是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。 堆是一个近似完全二叉树的结构,并同时满足堆积的性质,即子节点的键值或索引总是小于(或者大于)它的父节点。 堆的操作: 最大堆调整:将堆末端子节点做调整,使得子节点永远小于父节点 创建最大堆:将堆中的所有数据重新排序 堆排序:移除位在第一个数据的根节点,并做最大堆调整的递归运算 Java代码实现: import java.util.Scanner; public class Heap_sort { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入数组的大小:"); Scanner input = new Scanner(System.in); int a = input.nextInt(); int [] arr = new int[a]; for(int i = 0;i<arr.length;i++) { System.out.println("请输入数组的第"+i+"个值:"); int s = input.nextInt(); arr[i] = s; } arr