什么是选择排序?
选择排序就是从待排序的序列中找出最小(大)元素的数据,放到首位,然后再从待排序的序列中找到最小(大)的元素排到已经排序序列的后面,依次类推,知道所有待排序序列全都排序好。
算法
public class SelectionSort {
public static void main(String[] args) {
int[] arr = new int[]{1, 8,3,6,5,4,6,1,0};
for (int i = 0; i < arr.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < arr.length ; j++) {
minIndex = arr[j] < arr[i]? j:minIndex;
}
// 交换最小数和arr[i]
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
System.out.println(Arrays.toString(arr));
}
}
Tips:
遍历数组,每次找出最小数的下标
,然后把下标和当前排序数交换