归并排序及java实现
来源:互联网 发布:今晚非农数据预测 编辑:程序博客网 时间:2024/06/05 19:10
思路:
1.分为两段分别进行段内排序
2.合并,进行段间排序
java实现
public class MergeSort { private static int [] nums = {5,9,8,7,1,2,4,3,6}; public static void main(String[] args) { // TODO Auto-generated method stub if(nums.length <= 0) return ; mergeSort(nums, 0, nums.length - 1); for(int i = 0; i < nums.length; i ++) { System.out.print(nums[i] + " "); } } public static void mergeSort(int [] data, int l, int r){ //递归终止条件 if(l >= r) return; int mid = l + (r - l)/2; mergeSort(nums, l, mid); mergeSort(nums, mid + 1, r); merge(nums, l, mid, r); } public static void merge(int [] data, int l, int mid, int r){ int [] temp = new int[data.length]; int i = l, j = mid + 1, k = 0; while(i <= mid && j <= r) { if(data[i] <= data[j]){ temp[k ++] = data[i ++]; }else { temp[k ++] = data[j ++]; } } while(i <= mid) { temp[k ++] = data[i ++]; } while(j <= r) { temp[k ++] = data[j ++]; } //搬回去 for(int ii = 0; ii < k; ii ++){ data[l + ii] = temp[ii]; } }}
阅读全文
0 0
- 归并排序及Java实现
- java归并排序及实现
- 归并排序及java实现
- 归并排序算法原理及JAVA实现
- 归并排序Java实现及错误总结
- 归并排序原理及Java实现
- 归并排序原理及Java实现
- 【排序算法】归并排序原理及Java实现
- 【排序算法】归并排序原理及Java实现
- 归并排序Java实现
- Java实现归并排序
- Java实现归并排序
- 归并排序Java实现
- 归并排序JAVA实现
- java实现归并排序
- 归并排序(java实现)
- 归并排序java实现
- Java实现归并排序
- 严重: Exception sending context initialized event to listener instance of class org.springframework.we
- zookeeper的leader选举和最大故障节点数
- mybatis+druid的配置
- cordova学习笔记_创建一个cordova项目
- H5笔记-WebSocket协议
- 归并排序及java实现
- 开发PHP软件配置和介绍
- PLSQL Developer向Oracle导入sql文件
- android 非系统APP访问字符设备
- redis 5种数据类型及应用场景
- Hystrix 使用与分析
- Android环信换新即时聊天集成EaseUI的使用v3.0
- Linux环境下部署TestLink指导手册--2
- Nginx+tomcat配置集群负载均衡