Merge 合并排序算法指南

Merge 合并排序算法指南,merge,mips,mergesort,Merge,Mips,Mergesort,目前正在处理一个类分配,以使用MIPS汇编语言创建合并排序算法。我会把作业说明贴在作业上,以确保我对该做什么的解释是正确的 说明: 转换赋值3中的“合并”(赋值3是一种合并算法,它采用两个有序列表将该列表的所有元素合并为一个长有序列表,我已经完成了此操作)到一个子例程中。编写一个“main”程序,通过反复调用“merge”来执行整数列表的合并排序(**我假设这意味着调用我以前的赋值3**)。例如,如果排序程序将(6,5,9,1,7,0,-3,2)作为输入,它将生成一个排序列表(-3,0,1,2,

目前正在处理一个类分配,以使用MIPS汇编语言创建合并排序算法。我会把作业说明贴在作业上,以确保我对该做什么的解释是正确的

说明:

转换赋值3中的“合并”(赋值3是一种合并算法,它采用两个有序列表将该列表的所有元素合并为一个长有序列表,我已经完成了此操作)到一个子例程中。编写一个“main”程序,通过反复调用“merge”来执行整数列表的合并排序(**我假设这意味着调用我以前的赋值3**)。例如,如果排序程序将(6,5,9,1,7,0,-3,2)作为输入,它将生成一个排序列表(-3,0,1,2,4,6,7,9)。 应从键盘输入接收原始未排序的整数列表。您的程序应该首先要求用户输入原始列表中的整数数,然后要求输入所有整数。此程序要排序的整数总数应为2的幂。这意味着,程序应该处理2、4、8、16或32(…)个整数的列表(但您的程序最多只需要处理32个整数)

现在,我的合并算法需要两个有序列表,但这个赋值只需要一个列表。然而,下面的链接以一种方式解释了合并排序,即原始未排序列表逐渐划分为各个元素,然后向后工作并将元素按顺序排列。(由于我的作业3(我已经拥有的合并算法)需要两个有序列表,我是否可以在将未排序的列表划分为两个未排序的列表后立即对合并算法进行一次迭代??

基本上,在下面链接的第二步调用我的合并算法


非常感谢你

如果其他任何人也需要回答此问题,则此网站不做您的家庭作业。基本上,您需要一次又一次地划分原始无序列表,直到得到其各个元素。我之前的假设是,我可以在将列表分成两部分后立即使用a合并算法,这是错误的,因为该列表不一定是有序的,但是,当您将列表分为单个元素时,只有一个元素的列表总是有序的。然后将merge应用于各个元素,直到得到完整的列表,但现在它将按顺序排列。希望能有所帮助,我知道我班上的其他同学也有同样的问题。