数据结构-插入排序 java实现

来源:互联网 发布:游戏产业链 知乎 编辑:程序博客网 时间:2024/06/08 11:43

插入排序又可分为直接插入排序、希尔排序

1、直接插入排序:时间复杂度O(n^2)

public static void insertionSort(int[]a){int j;for(int p=1;p<a.length;p++){int temp=a[p];//这里是降序for(j=p;j>0&&temp<a[j-1];j--){a[j]=a[j-1];a[j-1]=temp;}}}

2、希尔排序:时间复杂度O(n^2),实际上是一种分组插入排序

   public static void shellsort(int [] a){               int j;               for(int gap=a.length/2;gap>0;gap/=2){   for(int i=gap;i<a.length;i++){   int tmp=a[i];   int j=i;   for(j=i;j>=gap&&temp<a[j-gap];i-=gap){   a[j]=a[j-gap];   }                            a[j]=temp;                              }   }   }



0 0
原创粉丝点击