Java – 算法 – 插入排序
简介
插入排序指的是先从0索引开始向后查找顺序成员,直到成员不顺为止,我们把它作为基准组,其它作为排序组,以基准组为基准,排序组成员依次和基准组成员进行对比,如果大的往前插入,如果小的往后插入。
插入排序原理
我们先把一个数组以0索引开始,往后抓,直到抓到无顺序为主即停止,作为有序组。
插值排序实现
// 随机定义一个数组
int[] arr = {5, 7, 9, 65, 53, 2, 654, 4327, 929, 33, 67, 14, 666, 12};
// 使用插入排序进行数组排序
// 从0索引开始查找有序例,并成为有序组
int startIndex = -1;
for (int i = 0; i < arr.length; i++) {
// 如果 前面的成员比后面的大,则断开作为有序组
if (arr[i] > arr[i + 1]) {
startIndex = i + 1; // => 3
break;
}
}
// 开始对无序组和有序组进行一一对比
for (int i = startIndex + 1; i < arr.length; i++) {
int j = i;
// 把这个成员的对有序组的每一个值都比一下,如果有,就调换位置
while (j>0 && arr[j-1]>arr[j]){
int temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
j--;
}
}
THE END
0
二维码
打赏
海报
Java – 算法 – 插入排序
简介
插入排序指的是先从0索引开始向后查找顺序成员,直到成员不顺为止,我们把它作为基准组,其它作为排序组,以基准组为基准,排序组成员依次和基准组成员进行对比,如果大的往前插入,如果……
TZMing花园 - 软件分享与学习
共有 0 条评论