基本思想就是:将待排序元素分成大小大致相同 的两个子集合,分别 对两个子集合进行排序,最终将排好序的子集合合并成所要求的排好序的集合。

package com.suanfa;
/*** 二分排序* @author Administrator**/
public class Merge {//递归分成小部分public void merge_sort(int[] arrays,int start,int end){if(start<end){int m=(start+end)/2;merge_sort(arrays,start,m);merge_sort(arrays,m+1,end);combin_arrays(arrays,start,m,end);    }}//合并数组public void combin_arrays(int[] arrays,int start,int m,int end){int length=end-start+1;int temp[]=new int[length];//用来存放比较的数组,用完复制回到原来的数组int i=start;int j=m+1;int c=0;while(i<=m &&j<=end){if(arrays[i]<arrays[j]){temp[c]=arrays[i];i++;c++;}else{temp[c]=arrays[j];j++;c++;}}while(i<=m){temp[c]=arrays[i];i++;c++;}while(j<=end){temp[c]=arrays[j];j++;c++;}c=0;for(int t=start;t<=end;t++,c++){arrays[t]=temp[c];}snp(arrays);}//打印数组public void snp(int[] arrays){for(int i=0;i<arrays.length;i++){System.out.print(arrays[i]+" ");}System.out.println();}public static void main(String[] args) {Merge m=new Merge();int a[]={5,4,10,8,7,9,11,13,12,15,14};m.merge_sort(a,0,a.length-1);}
}

运行结果

二分排序(java)相关推荐

  1. 二分排序java实现

    1.什么是二分排序: 二分排序是指利用二分法的思想对插入排序进行改进的一种插入排序算法,不同于二叉排序,可以利用数组的特点快速定位指定索引的元素: 算法思想:二分法插入排序是在插入第i个元素时,对前面 ...

  2. 八大排序:Java实现八大排序及算法复杂度分析

    目录 QUESTION:八大排序:Java实现八大排序及算法复杂度分析 ANSWER: 一:冒泡排序 1.算法分析 2.时间复杂度分析 3.代码 二:选择排序 1.算法分析 2.时间复杂度分析 3.代 ...

  3. 算法练习5---快速排序Java版

    基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成 ...

  4. 计数排序和桶排序 java代码实现

    文章目录 计数排序 java代码实现 单元测试 桶排序 java代码实现 单元测试 计数排序 java代码实现 package csdn.dreamzuora.sort;import java.uti ...

  5. 二分查找 java代码实现

    文章目录 二分查找java代码 单元测试 二分查找java代码 package csdn.dreamzuora.query;/*** Title: 二分查找* Description:* 时间复杂度: ...

  6. 希尔排序java代码_希尔排序及希尔排序java代码

    由上图可看到希尔排序先约定一个间隔(图中是4),然后对0.4.8这个三个位置的数据进行插入排序,然后向右移一位对位置1.5.9进行插入排序按照此规律直到全部参与了排序.然后将间隔约定为4-1=3,然后 ...

  7. week06_task_二分, 排序

    六.二分, 排序 目录 六.二分, 排序 来源 1 二分法 1.1 基本思想 1.2 **直接找法** 1.3 排除法(lower_bound and upper_ bound) 1.4 相关题目 2 ...

  8. Java List排序 java ListMap 排序 Java listmap 模拟 oracle 排序 Java listmap 模拟 mysql 排序

    Java List排序 java ListMap 排序 Java listmap 模拟 oracle 排序 Java listmap 模拟 mysql 排序 一.概述 近期的开发工作中,遇到一个需求: ...

  9. 二分排序法(折半插入法)

    二分排序法貌似是第一次听说,在wangsifu2009的博客上看到. 以前只听说过堆排序.快排序.希尔排序.选择.插入.冒泡排序,于是在网上搜索了一下,其代码实现是这样的: #include < ...

  10. 姓名,地址按照A,B,C......来排序java

    姓名,地址按照A,B,C-来排序 java代码: 导入依赖: 查询首字母的读音 <dependency><groupId>com.belerweb</groupId> ...

最新文章

  1. ItemCommandVSItemDataBound
  2. python解析mht文件_php解析mht文件转换成html的方法
  3. c#之Stringbuilder、String、Append
  4. Python抓取2500份招聘需求,数据显示未来最吃香的岗位是这个
  5. 还被python收智商税?做大数据的朋友告诉我月薪2w的方法
  6. 主流Java微服务框架有哪些?-开课吧
  7. webpack中如何使用vue
  8. win7系统网络计算机,Win7系统打开局域网没看到其他计算机的修复方法
  9. 2021金三银四,你准备好挑战这份最新腾讯、字节跳动、阿里巴巴Android面试题集了吗?
  10. Phototshop三种蒙版(图层蒙版、剪贴蒙版、快速蒙版)的基础使用。
  11. 【k哥爬虫普法】爬虫第一案,侵犯个人隐私,“入侵”短视频服务器!
  12. GlobalWoZ: 面向全球通用的人机对话系统——快速构建多语对话能力初探
  13. 【基础】python-docx包之----设置段落样式(缩进/对齐/间距)
  14. 猫眼5万条评论告诉你《飞驰人生》值不值得看?!
  15. 微信网页版营销软件 防撤回 自动同意加好友
  16. go libp2p kad dht
  17. 代码超时优化(硬核优化)
  18. 锁相环原理(PLL)
  19. win11右键菜单不折叠
  20. reactos源码下载地址

热门文章

  1. 《6色荧光笔学习法》——从如何做笔记到高效学习和“战略性思考”
  2. cookie与session
  3. 史前技术:Mac使用SVN
  4. python3 爬妹子图片网站实战 代码简明易懂
  5. 2019每特教育蚂蚁课堂-Java互联网微服务架构面试宝典v1
  6. Java实现拖拉/滑动图片验证码
  7. html 拖拽图片验证,JavaScript实现拖动滑块拼图验证功能(html5、canvas)
  8. 资深大学老师告诉你:嵌入式、单片机开发必备软件有哪些
  9. C语言知识点总结 (一 )
  10. 二进制文件(.bin)查看