排序算法 -- (一)直接插入排序
2017-06-27 17:27
232 查看
java中 排序算法是经常会遇到的,回顾一下
(一)直接插入排序
直接插入排序: 就是把新的数据插入到已经排好的数据列中1、原理
1、将第一个数和第二个数排序,然后构成一个有序序列 2、将第三个数插入进去,构成一个新的有序序列。 3、对第四个数、第五个数……直到最后一个数,重复第二步。
2、过程
3、代码实现
java实现public class InsertSort { /* 直接插入排序(默认从小到大排序) */ public static void sort2(int[] arr) { // 数组总长度 int n = arr.length; // 当前要插入的数 int insertNum; for (int i = 1; i < n ; i++) { insertNum = arr[i];// 当前要插入的数 int j = i; // 如果要插入的数小于前面的数,则前面的数往后移;否则就结束本次插入(因为前面的数都是有序) for (j = i; j > 0 && insertNum < arr[j - 1]; j--) { arr[j] = arr[j - 1]; } arr[j] = insertNum; // 空出来的数 } }
4、测试结果
相关文章推荐
- java基本排序算法之直接插入排序
- PHP实现排序算法----直接插入排序(Straight Insertion Sort)
- 排序算法之直接插入排序
- 排序算法-插入排序之直接插入
- 排序算法之直接插入排序
- 排序算法汇总(选择排序 ,直接插入排序,冒泡排序,希尔排序,快速排序,堆排序)
- 常用排序算法之直接插入排序
- 【手写排序算法及优化】直接插入排序
- PHP之八大排序算法--插入排序(-)直接插入排序
- 排序算法之冒泡排序、选择排序、直接插入排序(java实现)
- 排序算法之直接插入排序
- 排序算法_C++(一)插入排序之直接插入排序
- 【排序算法】直接插入排序与希尔(Shell)排序
- 【算法系列】排序算法(2)直接插入排序
- 排序算法之直接插入排序
- 排序算法(3)-直接插入排序
- 排序算法(堆排序,归并排序,快速排序、选择排序、直接插入排序)
- 排序算法——直接插入排序
- 排序算法-直接插入排序
- 三种最简单的排序算法(直接插入排序、冒泡排序、简单选择排序)