您的位置:首页 > 其它

排序算法 -- (一)直接插入排序

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、测试结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: