简介:选择排序是常用排序算法之一,其原理是通过选择和交换来实现排序的。
1选择排序流程如下:
①从数组所有元素中选择最小的一个数据与数组第一个位置上的元素进行交换
②从数组剩下元素中选择次小的一个数据与素数第二个位置上的元素进行交换
③重复上述步骤,直至最后两个元素交换位置,排序结束
2代码实现如下:
public static void selectSort(int[] arr) {
if (null == arr) {
return ;
}
for (int i=0; i < arr.length - 1; i++) {
int index = i;
for (int j=i+1; j< arr.length; j++) {
if (arr[j] < arr[i]) {
index = j;
}
}
if (index != i) {
int temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
}
}
3总结:
时间复杂度:O(n^2)
空间复杂度: O(1)
稳定性:不稳定