二、选择排序
———将整个序列中,最小的数放在最前面;剩下的序列将最小的依次放在最前面;
package com.xu.Array;
import java.util.Arrays;
//选择排序
public class Demo05 {
public static void main(String[] args) {
int[] A=new int[5];
for(int i=0;i<A.length;i++){
A[i]=(int)(Math.random()*100);
}
System.out.println("变更前:"+ Arrays.toString(A));
selectSort(A);//调用同一类内、main()外的方法;
System.out.println("变更后:"+Arrays.toString(A));
}
public static void selectSort(int[] a){
int len=a.length;
for(int i=0;i<len;i++){
int value=a[i]; //存放初始数组元素
int position=i; //存放初始位置序号
for(int j=i+1;j<len;j++){
if(a[j]<value){ //实质是:a[i+1]<a[i]
value=a[j]; //若条件正确,则把a[i+1]元素赋值给a[i]
position=j; //把position的位置改为 i+1
}
}//内层for循环找到最小值和其对应的位置position
a[position]=a[i];//将找到的元素放到最前面
a[i]=value;
}//外层for循环完成整序列及每次剩余序列最前面数值的确定
}
}