java选择排序递归实现
2019-03-22 本文已影响0人
HH001
public class SelectSort {
/**
*arr[]={ 5,3,6,2,7,1,8,4,0,9}
* (0),3,6,2,7,1,8,4,(5),9 第一次
* 0,(1),6,2,7,(3),8,4,5,9 第二次
*/
public static void selectSort(int[] arr,int base,int next) {
int i=base,j=next,temp,minIndex=base;
if(j<=arr.length-1) {
temp=arr[base];
while(j<=arr.length-1) {
if(arr[j]<temp) {
temp=arr[j];
minIndex=j;
}
j++;
}
arr[minIndex]=arr[base];
arr[base]=temp;
i++;
selectSort(arr,i,++i);
}
}
public static void main(String[] args) {
int[] arr= {5,3,6,2,7,1,8,4,0,9};
selectSort(arr,0,1);
for(int a:arr) {
System.out.print(a);
}
}
}