文章目录
- 选择排序
- 时间复杂度
- 空间复杂度
- 稳定性
- 代码
选择排序
以从小到大为例进行说明。
选择排序就是定义出一个最小值下标,然后遍历整个剩下的数组选择出最小的放进最小值下标的位置。
时间复杂度
O(N)
遍历一次即可
空间复杂度
O(1)
稳定性
不稳定
代码
public void selectSort(int[] array) {// i 作为最小值下标for (int i = 0; i < array.length; i++) {int minIndex = i;for (int j = i + 1; j < array.length; j++) {if (array[j] < array[minIndex]) {minIndex = j;}}// 找到真正的最小值下标后进行交换swap(array[minIndex], array[i]);}}private void swap(int x, int y) {int tmp = x;x = y;y = tmp;}