`

插入排序

阅读更多
  //升序插入排序
      public static int[] insertSort(int[] a) {
          for(int i = 1; i < a.length; i++) {
              int j = i-1;
              int tmp = a[i];
             while(j >= 0 && a[j] > tmp) {
                  a[j+1] = a[j];
                  j = j -1;
              }
             a[j+1] = tmp;
         
        }
         
         return a;
     }
     
     //降序插入排序
     public static int[] insertSortDesc(int[] a) {
         for(int j=1; j < a.length; j++) {
             int i = j - 1;
             int key = a[j];
             while(i >= 0 && a[i] < key) {
                 a[i+1] = a[i];
                --i;
             }
             a[i+1] = key;
         }
         return a;
     }

 

分享到:
评论

相关推荐

    c++插入排序详解

    说一说插入排序 插入排序的基本操作就是将一个数据插入到已经排序好序的数据中,从而得到一个新的,个数加一的有序数据,算法适用与少量的数据的排序。时间复杂度O(n^2),是稳定的排序算法。 基本思想:每步将一个待...

    插入排序案例插入排序案例

    排序算法-----插入算法

    直接插入排序

    数据结构与算法中的直接插入排序实现,平均时间复杂度为n2亲测可用

    java简单插入排序实例

    主要为大家详细介绍了java简单插入排序实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    如何用PHP实现插入排序?

    插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。 算法描述: ⒈ 从第一个元素开始,该元素可以认为已经被排序 ⒉ 取出下一个元素,在已经排序的元素序列中...

    JavaScript实现经典排序算法之插入排序

    主要为大家详细介绍了JavaScript实现经典排序算法之插入排序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Scratch插入排序源代码 少儿编程 Scratch排序算法 Scratch高阶编程

    此案例难度系数4,属于Scratch高级编程,插入排序相对而言比选择排序和冒泡排序理解起来要难一点,但是还是相对简单的排序,尤其是对少量元素排序的时候,效率较高;综合考查说话、随机数、无限循环(条件循环)、...

    简单插入排序文档01

    简单插入排序思想,将一个无序的数组,想象成由两部分组成,一部分为有序列,一部分为无序列,初始时,有序列为数组第一个元素,无序列为第一个元素之后的元素组成。每次从无序列中取第一个数插入到有序列中,有序列...

Global site tag (gtag.js) - Google Analytics