import java.util.Arrays;
class Main {
public static void main(String[] args) {
int[] arr = new int[]{101,34,119,1};
selectSortOptimize(arr);
}
public static void selectSort(int[] arr){
int minIndex = 0;
int minNum = arr[0];
for(int j = 0 + 1;j < arr.length;j++){
if(minNum > arr[j]){
minNum = arr[j];
minIndex = j;
}
}
if(minIndex != 0){
arr[minIndex] = arr[0];
arr[0] = minNum;
}
System.out.println("第一轮后~~");
System.out.println(Arrays.toString(arr));
for(int j = 1 + 1;j < arr.length;j++){
if(minNum > arr[j]){
minNum = arr[j];
minIndex = j;
}
}
if(minIndex != 1){
arr[minIndex] = arr[1];
arr[1] = minNum;
}
System.out.println("第二轮后~~");
System.out.println(Arrays.toString(arr));
for(int j = 2 + 1;j < arr.length;j++){
if(minNum > arr[j]){
minNum = arr[j];
minIndex = j;
}
}
if(minIndex != 2){
arr[minIndex] = arr[2];
arr[2] = minNum;
}
System.out.println("第三轮后~~");
System.out.println(Arrays.toString(arr));
}
public static void selectSortOptimize(int[] arr){
for(int i = 0; i < arr.length - 1;i++){
int minIndex = i;
int minNum = arr[i];
for(int j = i + 1;j < arr.length;j++){
if(minNum > arr[j]){
minNum = arr[j];
minIndex = j;
}
}
if(minIndex != i){
arr[minIndex] = arr[i];
arr[i] = minNum;
}
System.out.printf("第%d轮后\n",i+1);
System.out.println(Arrays.toString(arr));
}
}
}