排序之插入

 直接插入排序

  (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]);
  }
}


 

posted @ 2018-08-05 21:36  极目天空  阅读(135)  评论(0编辑  收藏  举报