我这里是从小到大排序。
所以选择排序就是每次循环完一次后把最小的值放在前边。
package suanfa;
//选择排序
public class Xuanze {
public void begin() {
int[] arr = {32,52,67,85,77,83,45,84,68,90};
int min=0;
for(int i=0;i<arr.length-1;i++) {//循环n-1次,因为最后一个不需要
min=i;
for(int j=i+1;j<arr.length;j++) {
if(arr[j]<arr[i]) {
min=j;
}
}
//如果最小数不是原位置则交换位置
if(min!=i) {
arr[i]=arr[i]^arr[min];
arr[min]=arr[i]^arr[min];
arr[i]=arr[i]^arr[min];
}
for(int a:arr) {
System.out.print(a+" ");
}
System.out.println();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Xuanze xuanze = new Xuanze();
xuanze.begin();
}
}