选择排序:
固定一个元素的值,然后依次和后面每一个元素进行比较,若当前固定元素的值大于后面比较元素的值就进行交换,直到
所有元素都比较完成之后,固定的第一个元素会得到所有元素最小的,在固定面一个值依次比较直到所有元素比较完成结束
例如: 6,4,9,1,3 --> 升序
1,6,9,4,3 --> 一轮排序
1,3,9,6,4 --> 二轮排序
1,3,4,9,6 -->三轮排序
1,3,4,6,9 --> 四轮排序
1,3,4,6,9 --> 五轮排序
public class XuanZheSortArray {
public static void main(String[] args) {
//创建数组
int[] arr = new int[10];
//向数组中随机存储0-100之间的值
for(int i = 0; i<arr.length;i++) {
arr[i] = (int)(Math.random()*100);
}
//打印没有排序之前数组值
System.out.println(Arrays.toString(arr));
//先确定循环的次数,有多少个元素就执行多次
for(int i = 0;i<arr.length;i++) {
//循环的次数即比较次数
//j的初始变量值是i+1 即i的下位,因为i是固定比较值
for(int j = i+1;j<arr.length;j++) {
//具体数据的比较
//i值就是一个固定的元素值
if(arr[i] > arr[j]) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
System.out.print("第"+(i+1)+"次排序的结果:\t");
for(int m = 0;m<arr.length;m++) {
System.out.print(arr[m]+"\t");
}
System.out.println();
}
}
}