插入排序——直接插入排序
2018-03-11 22:50
253 查看
如果有写的不对的地方还请大家多多批评。
直接插入排序(思想是:将一个无序的数组,看成n个有序数组,插入值得方法去多次排序)
例如:int a={5,8,10,4,3,1,7,8}
第一次是 数组 5,8
第二次是数组 5,8中插入10
第三次是数组 5,8,10中插入4
以此类推
通过一个junit测试来查看结果: @Test
public void directInsertSort(){
int [] intArr= {5,8,10,4,3,1,7,8};
for(int i=1;i<intArr.length;i++){
int temp = intArr[i];
int j;
for(j=i;j>0 && temp<intArr[j-1];j--){
intArr[j]=intArr[j-1];
}
intArr[j]=temp;
System.out.println(Arrays.toString(intArr));
}
}
效率:时间复杂度:O(n^2).
直接插入排序(思想是:将一个无序的数组,看成n个有序数组,插入值得方法去多次排序)
例如:int a={5,8,10,4,3,1,7,8}
第一次是 数组 5,8
第二次是数组 5,8中插入10
第三次是数组 5,8,10中插入4
以此类推
通过一个junit测试来查看结果: @Test
public void directInsertSort(){
int [] intArr= {5,8,10,4,3,1,7,8};
for(int i=1;i<intArr.length;i++){
int temp = intArr[i];
int j;
for(j=i;j>0 && temp<intArr[j-1];j--){
intArr[j]=intArr[j-1];
}
intArr[j]=temp;
System.out.println(Arrays.toString(intArr));
}
}
效率:时间复杂度:O(n^2).
相关文章推荐
- 直接插入排序、希尔排序、冒泡排序、快速排序
- 利用数组实现直接插入排序
- 排序算法(一):插入排序(直接插入排序、希尔排序)
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
- 直接插入排序的最简单实现
- 4000 Java实现直接插入排序
- Sort——直接插入排序
- JAVA排序算法---直接插入排序
- 程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现)
- C# 数据结构与算法系列(六) 排序之直接插入排序法
- 排序算法(快速排序、直接插入排序、直接选择、冒泡排序)
- C++模板实现直接插入排序
- 排序算法(一):直接插入排序
- 【算法】直接插入排序
- 插入排序—直接插入排序(Straight Insertion Sort)
- 直接插入排序 .
- 直接插入排序
- 插入排序之直接插入排序
- 排序算法之直接插入排序
- 冒泡排序 快速排序 选择排序 堆排序 直接插入排序 希尔排序 归并排序