java选择排序
思路(逻辑)
先取最小值与第一个值比较,以此类推
假设现在有int数组54321
那么比较应该为
5和4比较4小于5两个呼唤
那么当前最小值的下标为1
然后4和3比较4小于3
最小值下标为2
…
代码实现
public static void main(String[] args) {
int[] arr = new int[]{4,3,2,1};
//排序次数
for(int i = 0; i < arr.length - 1; i++){
int index = i;//记录最小值下标
for(int x = i; x < arr.length; x++){
if(arr[x] < arr[index]){
index = x;
}
}
int a = arr[i];
arr[i] = arr[index];
arr[index] = a;
}
}
下面展示一些 输出结果
。
1 2 3 4