选择排序:首先选取一个最小值作为比较的基准,一般选择第一个元素,作为排序结果的第一位,然后依次从未排序的数组中取出元素与之比较,若比其小则交换位置,并将基准更新,否则不作任何操作。由上可看出,选择排序对于已是正确顺序的数组,交换0次,对于逆序的数组,则交换n-1次。
下面是Java实现的选择排序:
package cn.zhf.sort;
public class SelectSort {
public static int[] selectSort(int[] array) {
int min;//存放最小值
int temp;//交换数据用
for(int i=0;i<array.length;i++){
min = i;//
for(int j= i+1;j<array.length;j++){
if(array[j] < array[min]){
temp = array[j];
array[j] = array[min];
array[min] = temp;
}
}
}
return array;
}
//打印数组
public static void print(int[] array){
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
public static void main(String[] args) {
int[] array = {4,25,1,3,2,6,5};
int[] result = selectSort(array);
print(result);
}
}