插入排序法
思路:(数据规模 n)
1.把数组前面部分当成已经排序好的,后面是未排序的
2.最开始只把第一个当成已排序好的
3.拿出第二个与已排序好的诶个比较,选择适合的位置插入
4.每次拿出未排序好的第一个,与已排序好的作比较,并插入
关键代码
for(int i=1;i<arr.length;i++){
int tmp = arr[i];
int j=i;
while(j>0&&tmp<arr[j-1]){
arr[j]=arr[j-1];
j--;
}
if(j!=i){
arr[j]=tmp;
}
}
时间复杂度: O(n2)
空间复杂度:O(1)