选择排序:
在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找
最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
import java.util.Arrays;
public class Selection {
public int[] selection(int array[]) {
for(int i=0;i<array.length;i++) {//遍历这个数组
int min=array[i];//默认当前数最小
int index=i;//将当前的索引赋给index
for(int j=i+1;j<array.length;j++) {
if(array[j]<min) {
min=array[j];//min为找到的比当前数小的数
index=j;//保留最小数的索引,用于找到最小数后的交换操作
}
}
array[index]=array[i];//将最小数与当前数交换
array[i]=min;
}
return array;
}
public void print(int array[]) {
for(int i=0;i<array.length;i++) {
System.out.print("array["+i+"]="+array[i]+"\t");
if((i+1)%5==0) {
System.out.println();
}
}
}
public static void main(String[] args) {
Selection s=new Selection();
int array[]= {99,45,12,34,82,46,75,28,43,19};
s.selection(array);
s.print(array);
System.out.println(Arrays.toString(array));
}
}