选择排序
- 选择排序就是每次都找,但是每次都只找出最小的那个数的位置,并将它放在最前方,然后在第二个位置接着往下判断
- 和冒泡排序的差别就在于,选择排序每次只找出最小的那个,而冒泡则是在不停的更换中
public class SelectionSort {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 6, 2, 87, 4};
Sort(arr);
for (int i : arr) {
System.out.println(i);
}
}
private static void Sort(int[] arr) {
if (arr == null || arr.length == 0) {
return;
} else {
for (int i = 0; i < arr.length; i++) {
//记录当前的位置
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
//找出最小的那个数,并记录位置
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
//如果当前位置就是最小,即可不需要进行调换
if (i != minIndex) {
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
}
}
}