选择排序
选择排序和冒泡排序时一样的思想,都是把最大的数字排到最后面,不同的是,冒泡排序是对比相邻元素交换,而选择排序是直接将最大的数字和最后一个数字交换。
算法图解:
如此类推;
java代码:
public void selectSort(int [[ nums){
int size = nums.length;
for (int i=0;i<size-1;i++){
int a = i;
for (int j=i+1;j<size;j++){
if (nums[a] > nums[j]){
a = j;
}
}
int temp = nums[a];
nums[a] = nums[i];
nums[i] = temp;
}
}
选择排序是不稳定的排序算法;
时间复杂度:O(n^2)
空间复杂度:O(1)