选择排序的基本思想是:对待排序的记录序列进行n-1遍的处理,第1遍处理是将L[1..n]中最小者与L[1]交换位置,第2遍处理是将L[2..n]中最小者与L[2]交换位置,......,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置就已经按从小到大的顺序排列好了。
可以根据需要,通过从待排序的记录中选择最大者与其首记录交换位置,按从大到小的顺序进行排序处理。
public class doChooseSort {
static void doChooseSort(int[] src) {
int temp;
for (int i = 0; i < src.length; i++) {
temp = src[i];
int j;
int samllestLocation = i;
for (j = i + 1; j < src.length; j++) {
if (src[j] < temp) {
temp = src[j];
samllestLocation = j;
}
}
src[samllestLocation] = src[i];
src[i] = temp;
}
}
public static void main(String args[]) {
int[] values = { 1, 2, 44, 22, 21, 6 };
doChooseSort(values);
for (int i = 0; i < values.length; i++) {
System.out.println("values-" + i + ": " + values[i]);
}
}
}