排序之选择排序
简介
选择排序也是初学的一种排序方法,复杂度也是n²。基本思想就是按顺序选择一个最小值交换完成的排序。
思路
1.i从0到n-1遍历选择出整个序列。将当前i值当作最小的下标。
2.之后从i+1开始到末尾寻找最小的下标值并更新minj
3.如果i与minj不相等代表不是当前最小值,则进行交换。
4.重复执行后就是结果了。
代码
class Solution {
public int[] sortArray(int[] nums) {
int minj,t;
int n = nums.length;
for(int i = 0;i < n;i++){
minj = i;
for(int j = i + 1;j < n;j++ ){
if(nums[j] < nums[minj]){
minj = j;
}
}
if(i!= minj){
t = nums[i];
nums[i] = nums[minj];
nums[minj] = t;
}
}
return nums;
}
}
下面贴一张《挑战程序设计竞赛2》的图。