Java排序算法之二分法插入排序
发布日期:2022-02-10 13:35:55 浏览次数:22 分类:技术文章

本文共 1209 字,大约阅读时间需要 4 分钟。

二、二分插入排序

这里写图片描述

package demosort;/* *  * 基本思想:二分法插入排序的思想和直接插入一样,只是找合适的插入位置的方式不同, * 这里是按二分法找到合适的位置,可以减少比较的次数。 */public class halfsort {        public static void main(String[] args) {            int[] a={
49,38,65,97,176,213,227,49,78,34,12,164,11,18,1}; System.out.println("排序之前:"); for (int i = 0; i < a.length; i++) { System.out.print(a[i]+" "); } //二分插入排序 sort(a); System.out.println(); System.out.println("排序之后:"); for (int i = 0; i < a.length; i++) { System.out.print(a[i]+" "); } } private static void sort(int[] a) { for (int i = 0; i < a.length; i++) { int temp = a[i]; int left = 0; int right = i-1; int mid = 0; while(left<=right){ mid = (left+right)/2; if(temp
= left; j--) { //将带插入前的元素往后移 a[j+1] = a[j]; } if(left != i){ //如果left等于i则不变,不等于就将带插入元素(临时变量)插入到排序后的位置上 a[left] = temp; } } } }

转载地址:https://blog.csdn.net/zoran_/article/details/52504556 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:存疑惑以及面经中的问题汇总
下一篇:java排序算法之希尔排序

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月20日 11时32分52秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

第四届工业大数据创新竞赛-注塑成型工艺的虚拟量测和调机优化-决赛排名22 2019-04-26
大数据时代的Serverless工作负载预测-排名80_0.313 2019-04-26
python爬虫爬取_腾讯位置大数据_人口迁徙图16年至今数据 2019-04-26
python爬虫爬取_高德地图_主要城市迁徙意愿排行榜_19年至今数据 2019-04-26
联通手机信令大数据的处理分析与可视化 2019-04-26
CNC机床刀具寿命预测 2019-04-26
Python遗传算法求解TSP旅行商问题——全国主要城市交通最短路径 2019-04-26
LeetCode题解(1114):多线程按序打印(Python) 2019-04-26
LeetCode题解(1122):数组的相对排序(Python) 2019-04-26
LeetCode题解(1128):等价多米诺骨牌对的数量(Python) 2019-04-26
LeetCode题解(1137):计算斐波那契数列(Python) 2019-04-26
LeetCode题解(1154):判断日期在一年中的第几天(Python) 2019-04-26
LeetCode题解(1160):判断可由指定字母拼写的所有单词总长(Python) 2019-04-26
LeetCode题解(1170):比较字符串最小字母的出现频次(Python) 2019-04-26
LeetCode题解(1175):质数排列(Python) 2019-04-26
LeetCode题解(1179):重新格式化部门表(SQL) 2019-04-26
LeetCode题解(1184):公交站间的距离(Python) 2019-04-26
LeetCode题解(1422):分割字符串的最大得分(Python) 2019-04-26
LeetCode题解(1436):旅行终点站-寻找循环的终点(Python) 2019-04-26
H5+CSS前端特效源代码:可旋转动态日文片假名 2019-04-26