思想:
从第一个元素开始,依次与之后的元素比较,从而找出最小值,并将最小值与第一个值交换,然后对第二个元素重复上一步。
复杂度:
时间复杂度:O(n2)O(n2)
- 比较操作耗时为O(n2)O(n2)
- 交换操作耗时为O(n)O(n)
空间复杂度:O(1)O(1)
特点:
- 不占额外空间
- 数据移动(交换)次数少
- 运行时间与输入无关
- 非稳定排序
伪代码:
for(i=1->n){
for(j=i->n){
min = arr[i];
if(num<arr[j])
min = arr[j];
}
change(min,arr[i]);
}