/**
* 2.1 简单选择排序: 在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
* 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最
* 后一个数比较为止.
*
* EX: int[] nums={8,1,4,2,23,10}; <
*
* 8,1(min),4,2,23,10
* |
* 1(min),8,4,2,23,10
*
* 1,8,4,2(min),23,10
* |
* 1,2(min),4,8,23,10
*
* 1,2,4(min),8,23,10
* |
* 1,2,4(min),8,23,10
*
* 1,2,4,8(min),23,10
* |
* 1,2,4,8(min),23,10
*
* 1,2,4,8,23,10(min)
* |
* 1,2,4,8,10(min),23
*
* 简单选择排序是不稳定的排序.
* 时间复杂度:T(n)=O(n2).
*/
public static void simpleSelectionSort(int[] nums) {
int min_index;
int temp=0;
for(int i=0;i<nums.length-1;i++){
min_index=i;
for(int j=i+1;j<nums.length;j++){
if(nums[min_index]>nums[j]){
min_index=j;
}
}
temp=nums[min_index];
nums[min_index]=nums[i];
nums[i]=temp;
}
}