数据结构-插入排序 java实现
2014-11-15 09:04
330 查看
插入排序又可分为直接插入排序、希尔排序
1、直接插入排序:时间复杂度O(n^2)
2、希尔排序:时间复杂度O(n^2),实际上是一种分组插入排序
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; } } }
相关文章推荐
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 算法和数据结构-选择排序、插入排序及希尔排序 java实现
- 数据结构复习之–“插入排序”-JAVA实现
- 数据结构--排序系列(插入排序,希尔排序,堆排序)Java代码实现
- 数据结构与算法——插入排序(Java实现)
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 【数据结构】Java实现各类经典排序算法——插入排序、希尔排序
- 多种数据结构的Java实现
- Java中如何实现Tree的数据结构算法
- 数据结构的Java实现——顺序表
- Java中常用数据结构的实现类 Collection和Map
- 数据结构(LinkedList的java实现)
- 数据结构的Java实现——单链表
- Java数据结构之简单链表的定义与实现方法示例
- Java中常用数据结构的实现类 Collection和Map
- 数据结构复习:队列-Java数组实现
- 数据结构复习:栈-Java数组实现