用Java写归并排序
来源:互联网 发布:乐高ev3大象编程 编辑:程序博客网 时间:2024/06/14 01:34
用Java写归并排序
归并排序的过程如下:
import java.util.*;/* * Java归并排序的练习 */public class MergeSort { public void mergeSort(int[] array, int start, int end) { if(start < end) { int mid = (start + end) / 2; mergeSort(array, start, mid); mergeSort(array, mid + 1, end); merge(array, start, mid, mid + 1, end); } } public void merge(int[] array, int start1, int end1, int start2, int end2) { int i = start1; int j = start2; List<Integer> list = new ArrayList<>(); while(i <= end1 && j <= end2) { if(array[i] <= array[j]) { list.add(array[i++]); }else { list.add(array[j++]); } } while(i <= end1) { list.add(array[i++]); } while(j <= end2) { list.add(array[j++]); } for(int p = start1; p <= end2; p++) { array[p] = list.get(p - start1); } } public static void main(String[] args) { // TODO Auto-generated method stub MergeSort m = new MergeSort(); int[] array = {19, 17, 20, 18, 16, 21}; m.mergeSort(array, 0, array.length-1); for(int i = 0; i < array.length; i++) { System.out.println(array[i]); } }}
程序的运行结果为:
用Python写的归并排序更为简洁,参考如下:
http://blog.csdn.net/u010429424/article/details/73602374
阅读全文
0 0
- 用Java写归并排序
- 用Java实现归并排序
- 【动手写排序】归并排序
- java排序--归并排序
- 排序-归并排序-Java
- 再写_归并排序
- python 写的归并排序
- 归并排序Java实现
- java归并排序算法
- JAVA归并排序算法
- java归并排序
- java归并排序
- Java实现归并排序
- 归并排序(java)
- 25、JAVA归并排序
- java 归并排序
- java归并排序
- Java归并排序
- java synchronized
- java使用jdbc连接MySQL数据库
- Ps的一些小知识,还有快捷键
- [Notes][模板] 记(瞎写) · 后缀自动机
- openCV滑动条TrackBar事件实例
- 用Java写归并排序
- 外观模式
- 为什么我们喜欢追逐?
- JAVA面试题
- 线程死锁的原因和解决办法
- 用栈实现迷宫求解Maze
- MYSQL数据库性能优化
- struts文件的上传与下载
- 假设一个班级有5个人,每个人都会有一些共有的信息:姓名 学号 年龄 分数。从终端输入每个人的信息,然后按照分数从高到低排序,将信息打印到终端上。