4.3_8种常用排序算法3(选择排序:简单选择排序+堆排序)
【简单选择排序】
package com.sort.demo3; import java.util.Arrays; /** * 简单选择排序 */ public class SelectSort { public static void main(String[] args) { int[] arr = new int[]{1,4,5,7,3,9,8,0,2,6}; System.out.println(Arrays.toString(arr)); selectSort(arr); System.out.println(Arrays.toString(arr)); } /** * 简单选择排序 * @param arr */ public static void selectSort(int[] arr) { //遍历所有的数 for (int i=0;i<arr.length;i++){ int minIndex = i; //把当前的数字和后面所有的数字进行比较,并记录下最小的数的下标 for (int j=i+1;j<arr.length;j++){ //如果后面的数比记录的最小的数还小 if(arr[j]<arr[minIndex]){ //记录下最小的那个数的下标 minIndex=j; } } //如果最小的数和当前遍历数的下标不一致,说明下标为minIndex的数比当前遍历的数更小 if(i!=minIndex){ int temp=arr[i]; arr[i]=arr[minIndex]; arr[minIndex]=temp; } } } }