1.原理
原理:将第i个数与后面最小的一个数调换位置。
时间复杂度:最好O(n),最坏O(n²),平均O(n²)
空间复杂度:O(1)
稳定性:稳定
2.代码
顺序存储
public class insertionSort {
public static void main(String[] args) {
int a[]={57,68,59,52,18,34,76,101,55,26};
InsertSort(a);
}
public static void InsertSort(int[] a)
{
int i, j;
int target;
for (i = 1; i < a.length; i++)
{
j = i;
target = a[i];
while (j > 0 && target < a[j - 1])
{
a[j] = a[j - 1];
j--;
}
a[j] = target;
}
for (int k : a) {
System.out.print(k+".");
}
}
}
链式存储
待补充
3.小结
- 插入排序与冒泡排序的比较:
- 不要和选择排序混淆了