选择排序的思想,每次从剩余元素中最小的元素与当前元素交换,第一次从arr[0]arr[n-1]中选取最小值,与arr[0]交换;第二次从arr[1]arr[n-1]中选取最小值,与arr[1]交换;第三次从arr[2]arr[n-1]中选取最小值,与arr[1]交换;第i次从arr[i]arr[n-1]中选取最小值,与arr[i]交换;
public class MyTest03 {
public static int[] mySort(int[] arr) {
for (int i = 0; i < arr.length ; i++) {
int minIndex = i;
int min = arr[i];
for (int j = i + 1; j < arr.length; j++) {
if (min > arr[j]) {
min = arr[j];
minIndex = j;
}
}
if (minIndex != i) {
arr[minIndex] = arr[i];
arr[i] = min;
}
System.out.println("第" + (i + 1) + "趟排序");
System.out.println(Arrays.toString(arr));
}
return arr;
}
public static void main(String[] args) {
int[] arr = {3, 5, 7, 2, 8, 1};
System.out.println("最终排序结果: " + Arrays.toString(mySort(arr)));
}
}
网友评论