一、什么是选择排序
选择排序是选择一个标杆。然后将比标杆小的值排到标杆的左边,将比标杆大的值排到标杆的右边。随后不断缩小范围,直到全部元素排序完毕。
二、代码示例
public static int sortUtil(int[] ints , int start , int end){
//左边开始的位置
int i=start;
//右边开始的位置
int j=end;
//标杆值
int temp = ints[i];
while(i<j){
//如果右边的值小于标杆值
if(ints[j]<temp){
//把值赋给左边i的位置
ints[i] = ints[j];
break;
}
j--;
}
while(i<j){
if(ints[i]>temp){
ints[j]=ints[i];
break;
}
i++;
}
ints[i]=temp;
return i ;
}
//排序方法,需要进行递归调用
public static void selectionSort(int[] ints , int start , int end){
if(start<=end){
int index = sortUtil(ints, start, end);
//左边继续排序
selectionSort(ints, start, index-1);
//右边继续排序
selectionSort(ints, index+1, end);
}
}