k从0开始与剩余的1到len的元素开始比较,选出最小的,把下标赋值给K,然后把第一个数字赋值为K的值
然后又从第二个数开始,又开始与后面的数比较,选择出最小的,放到第二个位置
这样依次选出剩余序列的最小的数值,进行从小到大排序,下面是代码
package xuanzhe;
import java.util.Arrays;
public class xuanze {
int[] numbers = new int[] {1,2,5,4,1,278,5,9};
public static void main(String[] args) {
xuanze xz=new xuanze();
xz.xuanzepaixu();
System.out.println(Arrays.toString(xz.numbers));
}
public void xuanzepaixu() {
int temp;
int len = numbers.length;
for(int i=0;i<len;i++) {
int k=i;
/*k从0开始与剩余的1到len的元素开始比较,选出最小的,把下标赋值给K,然后把第一个数字赋值为K的值*/
/*然后又从第二个数开始,又开始与后面的数比较,选择出最小的,放到第二个位置*/
for(int j=len-1;j>i;j--) {
if(numbers[j]<=numbers[k]) {
k=j;
}
}
temp=numbers[i];
numbers[i]=numbers[k];
numbers[k]=temp;
}
}
}