选择排序

选择排序

 

 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     }    
原文地址:https://www.cnblogs.com/XT-xutao/p/9995228.html