//选择排序的思想是:把当前数据和它后面的所有数据进行比较,从中选择最小的那个,然后放在当前位置。
import java.util.Arrays;
import java.util.Random;
//选择排序
public class SelectSort {
public static void main(String[] args) {
//1.生成一个1-100之间的随机数数组,数组长度为10
int[] arr=new int[10];
Random ran=new Random();
for(int i=0;i<10;i++){
arr[i]=ran.nextInt(100)+1;
//System.out.print(arr[i]+",");
}
//System.out.println();
//2.调用选择排序算法
selectSort(arr);
//3.输出排序后的数组
System.out.print(Arrays.toString(arr));
}
//选择排序算法
public static void selectSort(int[] arr){
//依次对数组中第一个数到倒数第二个数进行比较,外层一次for循环可以从中取出arr[i]之后的数据中最小的数并和arr[i]进行交换。
for(int i=0;i<arr.length-1;i++){
//对外层for循环取出的每一个数据arr[i]和它后面的所有数据进行比较,从中取出最小的那个数据arr[i]进行交换。
//内层for循环的范围是从外层for循环所对应数据arr[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;
}
}
}
}
}