参考文献:《算法导论》中、英版本
伪代码参考:《算法导论》P29页 课后题
public class SelectionSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] array = { 1, 0, -3 };
SelectionSort(array, 0, array.length);
// randomizeInPlace(array);
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
/* 选择排序算法 */
public static void SelectionSort(int[] array, int start, int end) {
for (int i = start; i < end; i++) {
array[i] = getMinNumber(array, i, end);
}
}
public static int getMinNumber(int[] array, int start, int end) {
int key = array[start];
for (int i = start + 1; i < end; i++) {
if (array[i] < key) {
key ^= array[i];
array[i] ^= key;
key ^= array[i];
}
}
return key;
}
}
2.2-2