选择排序
选择排序
1 public int[] selectSort(int[] arr) {
2 /**
3 *选择排序法:
4 * 算法思路:设定最大/小值,初始化为要排序的第一个元素,然后向一边与每个元素比较,找出最大/最小值,放到一边
5 * 时间复杂度:O(n^2)
6 * 空间复杂度:O(1)
7 * 稳定性:-不稳定-
8 */
9 int temp = 0;
10 for (int i = 0; i < arr.length - 1; i++) {
11 int min = arr[i]; // 记录最小元素
12 int minIndex = i; // 记录最小元素下标
13 for (int j = i + 1; j < arr.length; j++) {
14 if (min > arr[j]) { //找出为排序中最小元素及其下标
15 min = arr[j];
16 minIndex = j;
17 }
18 }
19 // 交换,完成一个元素的排序
20 temp = arr[i];
21 arr[i] = min;
22 arr[minIndex] = temp;
23
24 }
25 return arr;
26 }