简单选择排序
简单选择排序原理:
在未排序序列中找到最小元素,存放到排序序列的起始位置 再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。 以此类推,直到所有元素均排序完毕。
java代码:
1 public static void selectSort(int[] numbers) { 2 int size = numbers.length; // 数组长度 3 int temp = 0; // 中间变量 4 5 for (int i = 0; i < size; i++) { 6 int k = i; // 待确定的位置 7 // 选择出应该在第i个位置的数 8 for (int j = size - 1; j > i; j--) { 9 if (numbers[j] < numbers[k]) { 10 k = j; 11 } 12 } 13 // 交换两个数 14 temp = numbers[i]; 15 numbers[i] = numbers[k]; 16 numbers[k] = temp; 17 } 18 }
性能分析:
时间复杂度:O(n^2)
空间复杂度:O(1)
原地排序:是
稳定排序:否