常用的选择排序方法有:直接选择排序和堆排序
直接选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列无序区的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。
public class SelectSort {
public static void main(String[] args) {
/*使用直接选择排序法进行排序*/
int array[]=new int[]{9,8,7,6,5,4,3,2,1}; //把待排序的数存放在数组中
int n=array.length;
int i,j,temp,min; //temp作为过渡变量,min存放无序区最小元素下标
for(i=0;i<n-1;i++){ //进行n-1趟排序
min=i;
for(j=i+1;j<n;j++){
/*从无序区寻找最小关键字的下标min*/
if(array[j]<array[min]){
min=j;
}
}
if(min!=i){
temp=array[min];
array[min]=array[i];
array[i]=temp;
}
}
/*输出排序后的结果*/
for(i=0;i<n;i++){
System.out.print(array[i]+", ");
}
}
}