思想:
从第一个元素开始,依次与之后的元素比较,从而找出最小值,并将最小值与第一个值交换,然后对第二个元素重复上一步。
复杂度:
时间复杂度: O(n2) O ( n 2 )
- 比较操作耗时为 O(n2) O ( n 2 )
- 交换操作耗时为 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]);
}