选择排序算是比较简单的一种排序了。它的复杂度非常稳定,无论是最好(有序)还是最差(无序)都是 $O(n^{2})$
选择排序就是每次选择这列数的最值放到首位,直到遍历结束。
可视化:
现在来用 c 语言实现:
|
|
假设我们要从大到小排序:
i
遍历到 size - 1
即可,因为遍历到最后一个一定是最小的。
这里假定 i
为最大值然后对其后面遍历找出能比 i
还大的进行替换。
target
标记的是索引值,为后面进行替换打基础。
选择排序算是比较简单的一种排序了。它的复杂度非常稳定,无论是最好(有序)还是最差(无序)都是 $O(n^{2})$
选择排序就是每次选择这列数的最值放到首位,直到遍历结束。
可视化:
现在来用 c 语言实现:
|
|
假设我们要从大到小排序:
i
遍历到 size - 1
即可,因为遍历到最后一个一定是最小的。
这里假定 i
为最大值然后对其后面遍历找出能比 i
还大的进行替换。
target
标记的是索引值,为后面进行替换打基础。