思想:
从选择第一个元素开始直至最后一个元素,将选择元素朝前依次与前面排序好的元素比较,若小于该元素,则将该元素插入。
复杂度:
时间复杂度: O(n2) O ( n 2 )
- 比较操作耗时为 O(n2) O ( n 2 )
- 交换操作耗时为 O(n2) O ( n 2 )
空间复杂度: O(1) O ( 1 )
特点:
- 不占额外空间
- 运行时间与输入有关,排序性能取决于初始排序程度
- 采用链表实现更方便
伪代码:
for(i=1->n){
num = arr[i];
for(j=i->1){
if(num<=arr[j])
exchange(num, arr[j]);
else
break;
}
}