代码一定要自己手敲理解
public class _004 {//选择排序,冒泡排序,插入排序//交换public static void swap(int[] arr,int i ,int j){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}//选择排序public static void selectSort(int[] arr){if(arr == null || arr.length < 2){//数组中没有值,或者只有一个值,就不用排序,直接退出return ;}for(int i = 0;i< arr.length;i++){int minIndex = i;//因为你后面的最小值要和当前的交换,设有就得有一个数记住最小值的索引,方便后面交换for(int j = i+1;j < arr.length;j++){//j是i的下一个数,一直往后++到数组最后一个数if(arr[j] < arr[minIndex]){minIndex = j;}}//这个循环结束以后,minIndex就已经指向数组中最小数的索引值。接下来把arr[i] 与minIndex这个最小索引值对应的数交换swap(arr,i,minIndex);}for(int i:arr){System.out.print(i);}return ;}public static void main(String[] args) {int[] arr = {1,5,3,2,4};int[] arr2 = {0};int[] arr3 = {};selectSort(arr);selectSort(arr2);selectSort(arr3);}
}