算法原理:
- 第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置
- 然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。
- 以此类推,直到全部待排序的数据元素的个数为零。
代码实现(go):
复杂度
时间复杂度:O(n²)
空间复杂度:O(1)
稳定性:不稳定, 因为无法保证值相等的元素的相对位置不变,例如 [3, 4, 3, 1, 5]这个数组,第一次交换,第一个3和1交换位置,此时原来两个3的相对位置发生了变化。
,算法原理:
代码实现(go):
复杂度
时间复杂度:O(n²)
空间复杂度:O(1)
稳定性:不稳定, 因为无法保证值相等的元素的相对位置不变,例如 [3, 4, 3, 1, 5]这个数组,第一次交换,第一个3和1交换位置,此时原来两个3的相对位置发生了变化。
,