合并排序,用归并排序法对此题进行解答.

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:22:01
Description

这是一个很简单的排序题目.
为了锻炼大家对不同算法的了解,请大家用归并排序法对此题进行解答.
对一组整数数列A[1],A[2],A[3]......A[N]进行排序,按照从小到大的顺序输出.

Input

本题只有一组测试数据,在输入的第一行输入N(表示整数数列的大小)(N < 1000)
接下来N行输入N个整数,每一行一个整数.

Output

对已经排好序的数从小到大依次输出,每两个数之间用两个空格隔开,且每输出10个数换行.

Sample Input

12
45
545
48
47
44
45
4857
58
57
485
1255
42

Sample Output

42 44 45 45 47 48 57 58 485 545
1255 4857

这个是老师布置的作业,希望大家帮个忙。
我需要代码!马上就得交了。。。谢谢!我的QQ是576288900,知道的的发给我,过关了另外再奖励现金5元。。。

函数你自己做吧,需要如下几个函数!

1. 一个分解后排序的函数,用优选法甚至冒泡法都可以。Sort()
2. 一个归并两个数组的排序函数。merger()
3. 归并的递归函数。SortResult()

这几个函数逐层嵌套。

SortResult(数组指针)
{数量=数组长度
if 数量<=某个你设定的最小值
sortresult=sort(数组指针)
else
将数组平分成两个:数组1,数组2
sortresult=merger(SortResult(数组1),SortResult(数组2))
}

这个是伪代码,你转换成某种支持递归的语言代码就可以了。