1,思想:通过比较查找序列中的最小值索引,然后把最小值交换到最左端。同理依次查找每一个子序列。
2,选择排序拥有和冒泡排序同样的比较时间即时间复杂度N的平方,但是只需进行约N次交换。所以效率比冒泡排序高。
3,java实现:
package aglogim;
public class SelectSorter {
public static void selectSort(int[] array) {
// {9,3,6,8,0,2,9}
int len = array.length;
for (int out = 0; out < len; out++) {
int min = out;
for (int in = out + 1; in < len; in++) {// find min value index.
if (array[in] < array[min]) {
min = in;
}
}// inner for end.
swap(array, out, min);
}
}
private static void swap(int[] array, int low, int high) {
int temp = array[low];
array[low] = array[high];
array[high] = temp;
}
}