排序之插入

Posted tiankc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序之插入相关的知识,希望对你有一定的参考价值。

 直接插入排序

  (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排

好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数

也是排好顺序的。如此反复循环,直到全部排好顺序。

(2)用java实现

public class insertSort{
   public insertSort(){
       int a[] = {49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23}
  };
   int len=a.length;//单独把数组长度拿出来,提高效率
   int temp=0;
   for(int i=1; i<len;i++){//因为第一次不用,所以从1开始
       int j = i-1;//序列元素个数
       temp=a[i];
       while(j>=0&&temp<a[j]){
           a[j+1]=a[j];//元素向后移动
               j--;
           //将大于temp的值整体后移一个单位
      }
       a[j+1]=temp;//找到位置,插入当前元素
  }
   for(int i=0;i<len;i++){
       System.out.println(a[i]);
  }
}


 























以上是关于排序之插入的主要内容,如果未能解决你的问题,请参考以下文章

排序02-直接插入排序法

java排序之插入排序(直接插入排序和希尔排序)

重温基础算法内部排序之插入排序法

排序算法之插入排序

《C#零基础入门之百识百例》(二十四)数组排序 -- 插入排序

十大排序之插入排序与归并排序