代码一定要自己手敲理解
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);
}
}