思路:每次选择待排序列中关键字最小的记录顺序放入已排序列。
步骤:1、从待排序列第一个记录开始,选出关键字最小的记录,并将其与序列中第一个记录交换位置;
2、从待排序列第二个记录开始,选出 关键字最小的记录,并将其与序列中第二个记录交换位置;
3、重复以上步骤共n-1次,其中n为待排序列中有n个记录。
public class SelectionSort {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] seq={11,3,54,4,5,64,34,-9};
method(seq);
for(int i=0;i<seq.length;i++)
System.out.print(seq[i]+" ");
}
private static void method(int[] arr){
int temp_subscript=0,temp;
for(int i=0;i<arr.length-1;i++){
temp_subscript=i;
for(int j=i;j<arr.length-1;j++){//取最小值
if(arr[temp_subscript]>arr[j+1])
temp_subscript=j+1;
}
if(temp_subscript!=i){//与第i个记录交换位置
temp=arr[i];
arr[i]=arr[temp_subscript];
arr[temp_subscript]=temp;
}
}
}
}