选择排序的思路:
①将数组中的每个元素,与第一个元素比较,如果这个元素小于第一个元素,则交换两者的位置。②经过①,数组的第一个元素已经是最小的了。现在将数组的剩下的未排序的元素与第二个元素比较,处理方法同①。
③对于n个数的数组,经过n-1轮比较即可完成排序。
public class SelectSort {
public static void main(String[] args) {
Random r=new Random();
int[] a=new int[10];
for(int i=0;i<10;i++){
a[i]=r.nextInt(100);
}
System.out.println("未排序的数组:"+Arrays.toString(a));
System.out.println("排序后的数组:"+Arrays.toString(selectSort(a)));
}
/**
* 选择排序
* 对于n个元素的数组,经过n-1轮比较即可完成排序
* @param arr
* @return
*/
public static int[] selectSort(int[] arr){
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[i]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
return arr;
}
}