博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用排序算法(归并排序)
阅读量:5824 次
发布时间:2019-06-18

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

归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。

更多信息请参考:

C语言代码:

1 #include 
2 #include
3 #include
4 #include
5 6 void init(int *array, int count) 7 { 8 int n = 0; 9 srand((unsigned int)time(NULL));10 11 for (n=0; n

运行结果如下:

data before sort:    50   91   73   42   84   88    9   57   18   35
data after sort:      9   18   35   42   50   57   73   84   88   91
Java代码:

1 import java.util.Random;  2   3 /**  4 * 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,  5 * 每个子序列是有序的。然后再把有序子序列合并为整体有序序列。  6 */  7   8 public class Sort   9 { 10     /* 11      * 输出数组中的数据 12      */ 13     public static void OutputArray(int[] array)  14     { 15         for (int data : array)  16         { 17             System.out.print(data + "\t"); 18         } 19          20         System.out.println(); 21     } 22      23     /* 24      * 生成需要排序的数组 25      */ 26     public static int[] createArray(int count)  27     { 28         int array[] = new int[count]; 29         Random r = new Random(); 30          31         for (int i = 0; i < count; i++)  32         { 33             array[i] = r.nextInt(100); 34         } 35          36         System.out.println(""); 37         System.out.print("data before sort:\t"); 38          39         OutputArray(array); 40          41         return array; 42     } 43      44     private static  int[] merge_sort(int[] array, int start, int end) 45     { 46         int[] result = new int[end-start+1]; 47         if(start

排序结果如下:

data before sort:    39    27    27    7    6    41    82    36    89    20    

data after sort:    6    7    20    27    27    36    39    41    82    89   

 

转载于:https://www.cnblogs.com/yuanping/archive/2012/12/26/2834900.html

你可能感兴趣的文章
JS_TAB鼠标点击切换特效
查看>>
MenuintroduceActivity
查看>>
Oracle Database 11g Release 2 (11.2) Installation On Oracle Linux 5
查看>>
rsync 实现同步
查看>>
网站提速-伪静态(3)
查看>>
在Excel表格中找出重复数据
查看>>
磁盘及文件系统管理(二)
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK
查看>>
代理服务器与网络地址转换作用差异的解析
查看>>
mysql免安装版常用操作
查看>>
Go语言学习笔记(七)杀手锏 Goroutine + Channel
查看>>
CentOS如何修改root密码
查看>>
集中管理日志信息--例cron日志
查看>>
OpenGL进阶(四)-用参数方程绘制椭球体
查看>>
Zabbix监控误报交换机重启问题
查看>>
Oracle 11g-锁
查看>>
利用无效字节码指令引发逆向工具崩溃(一)
查看>>
mysql分区表
查看>>
Go 四篇
查看>>
C#动态编译,实现按钮功能动态配置
查看>>