选择排序就是概念就是 从最前面开始往后比,指定第一个数字是最大的;如果后面出现比它还大的数字,就指定这个数字是最大的;这样一个一个比下去,比较完之后:第一位和最大的交换;第二次比较:第二位数字和第二大的数字交换;
int test = 0; //记录下标
int temp = 0; //交换时的临时数,放在for循环里每次都要重新创建,占用内存
for(int i = 0 ; i<array.length-1; i++){
test = i; //因为排好序的放在了前面,所以新下标每次都从第i位开始查找,一开始假设第0位是最大的
for(int j = i; j < array.length-1; j++){ //要比较的次数是长度减1次 不用最后一次不用比较已经排好了
if (array[test]<array[j]) {
test=j; //记录该下标
}
}
if (test != i) {
temp = array[i]; //互换位置
array[i] = array[test];
array[test] = temp;
}
}
for (int i : array) {
System.out.print(i+" "); //最后遍历
}