基本思想
每趟从待排序的记录序列中选择关键字最小的记录放置到已排序表的最前位置,直到全部排完。
算法实现
package cn.caojiantao.tutorials.sort;
/**
* @author caojiantao
*/
public class Select implements ISort {
@Override
public void sort(int[] data) {
for (int i = 0; i < data.length; i++) {
int m = -1;
for (int j = i; j < data.length; j++) if (m == -1 || data[j] < data[m]) m = j;
ArrayUtils.swap(data, i, m);
}
}
}
复杂度
- 时间复杂度 O(n2)
- 空间复杂度 O(1)
稳定性
稳定