选择排序:一种非常简单而且容易理解的排序,每次遍历去寻找当前序列的最小值然后将最小值放在当前序列的第一位,如此往复,直到序列遍历完毕。
简单排序:
- 空间复杂度:O(1)
- 时间复杂度:O(N^2)
- 稳定性:不稳定
代码如下:
public static void sort(int[] nums, int length) {
for(int i=0; i<length; i++) {
int minIndex = i;
for(int j=i+1; j<length; j++) {
if(nums[minIndex] > nums[j])
minIndex = j;
}
if(minIndex != i) {
int temp = nums[minIndex];
nums[minIndex] = nums[i];
nums[i] = temp;
}
}
}
测试代码如下:
public static void main(String[] args) {
int[] nums = new int[]{2,1,7,5,9,3,4};
sort(nums, nums.length);
System.out.println(Arrays.toString(nums));
}
结果:
[1, 2, 3, 4, 5, 7, 9]