选择排序:
1.基本思想:将线性表看成是未排序和已排序的两部分,有序表a[0:i-1],无序表a[i:n-1]排序过程中从无序表中取出最小的放到有序表的最末尾,有序表的长度加一,无需表的长度减一,直至无需表为空时停止。
2.算法设计:
(1)把数组a[n]看成是有序a[0:i-1]和无序a[i:n-1]的两部分,开始时有序表中没有元素
public class SelectSort {
public static void main(String []args){
int a[] = {3,2,6,4,5,7};
selectSort(a);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
public static void selectSort(int array[]){
int n = array.length;
int i,j;
int min,temp;
for(i = 0;i<n;i++){
min = i;
for(j = i+1;j<n;j++){
if(array[j]<array[min]){
min =j;
}
}
if(min!=i){
temp = array[min];
array[min] = array[i];
array[i] = temp;
}
}
}
}