3.2 插入排序思路和java实现
插入排序
1.理论基础
它的一个特点是:回溯到前面进行比较,之后往后进行比较。
图示如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-768G3tX6-1678499867688)(insert.png "插入排序图示")]](https://img-blog.csdnimg.cn/c9032e03ce464e508122a4e5ccad5d71.png)
2.代码实现
注意:插入排序只适合少量元素的排序,其时间复杂度为O(n^2)
class Test{
void InsertionSort(int a[],int n){
int temp;
int j;
for(int i=1;i<array.length;i++){
temp = array[i];
for(j=i;j>0&&array[j-1]>temp;j--){
array[j] = array[j-1];
}
array[j] = temp;
}
}
}
空间复杂度为O(1)
这个排序方法了解即可,因为其时间复杂度非常高。

浙公网安备 33010602011771号