zoukankan      html  css  js  c++  java
  • 插入排序

    插入排序的原理:

    插入排序有点类似选择排序,在未排序序列中找到最小元素,存放到排序序列的起始位置 再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。 以此类推,直到所有元素均排序完毕。区别是:选择排序是交换,插入排序是部分平移。

    java代码:

     1     public static void insertSort(int[] numbers) {
     2         int size = numbers.length;
     3         int temp = 0;
     4         int j = 0;
     5 
     6         for (int i = 0; i < size; i++) {
     7             temp = numbers[i];
     8             // 假如temp比前面的值小,则将前面的值后移
     9             for (j = i; j > 0 && temp < numbers[j - 1]; j--) {
    10                 numbers[j] = numbers[j - 1];
    11             }
    12             numbers[j] = temp;
    13         }
    14     }

    性能分析:

    时间复杂度:O(n^2)

    空间复杂度:O(1)

    原地排序:是

    稳定排序:是

  • 相关阅读:
    小学四则算式扩充
    软件工程初涉之感
    回头
    个人最终总结
    团队作业
    结对编程
    老李的blog使用日记(3)
    进度
    老李的blog使用日记(2)
    红果果
  • 原文地址:https://www.cnblogs.com/zhanghaodong/p/10337796.html
Copyright © 2011-2022 走看看