选择排序
基本原理
选择排序是一种简单直观的排序算法,其基本原理如下:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录的位置与第一个记录的位置交换;接着对不包括第一个记录以外的其他记录进行第二次比较,得到最小记录并与第二个位置记录交换;重复该过程,知道进行比较的记录只剩下一个为止。
排序过程
java实现
public class Selection {
// 数组中元素进行排序
public static void sort(Comparable[] a){
for(int i=0;i<=a.length-2;i++){
// 定义第一个位置的元素,假定为最小元素
int minIndex=i;
for (int j=i+1;j< a.length;j++){
//比较最小索处的值和j处的值大小
if(greater(a[minIndex],a[j])){
minIndex=j;
}
}
//交换最小索引处和i处的值
exch(a,i,minIndex);
}
}
//比较数组的值
private static boolean greater(Comparable v,Comparable w){
return v.compareTo(w)>0;
}
// 交换数组值的位置
private static void exch(Comparable[] a,int i,int j){
Comparable temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
//测试类
public class SelectionTest {
public static void main(String[] args) {
Integer[] arr={13,49,38,65,97,76,27,49};
Selection.sort(arr);
System.out.println(Arrays.toString(arr));
}
}