public class SelectionSort {
//时间复杂度:O(n^2),空间复杂度:O(1),时间复杂度最坏,最好情况都是O(n^2),不稳定。
public static void main(String[] args) {
int[] arr = {
1, 3, 5, 2, 8, 4, 6, 7, 2};
sort(arr);
print(arr);
}
static void sort(int[] a) {
for (int i = 0; i < a.length - 1; i++) {
int minPos = i;
for (int j = i + 1; j < a.length; j++) {
//if (a[j] < a[minPos]) minPos = j;
minPos = a[minPos] > a[j] ? j : minPos;
}
swap(a, i, minPos);
}
}
static void print(int[] arr) {
for (int k = 0; k < arr.length; k++) System.out.print(arr[k] + " ");
}
static void swap(int[] arr, int i, int j) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
含动图,选择排序
猜你喜欢
转载自blog.csdn.net/Sherlook_Holmes/article/details/120804046
今日推荐
周排行