算法对三个数组的元素进行排序

Dan*_*iel 3 arrays sorting algorithm

这是傻瓜:

从三个阵列A,B和C开始,总共有2n+1条目.编写一个算法,仅使用以下两种方法对所有数组中的所有条目进行排序:

  1. X = sort(X)X排序的版本替换数组.

  2. (X , Y) = doubleUp(X , Y)如果X有更多的元素Y,则不执行任何操作,否则它会删除第一个length(X)条目Y 并将它们附加到结尾X.

这是我到目前为止所尝试的内容.如果其中两个数组为空,则只需使用sort非空数组.

如果其中一个数组是空的,那么我认为我可以使用doubleUp一个数组只有一个而另一个数组拥有其他所有数据,如果该单例数组具有最小(或最大)的元素,则可行.所以我可以sortdoubleUp每次使用之后使用以确保这种情况发生.我在Maple中对此进行了编码,它适用于我检查过的所有情况.

我不知道如何用3个阵列做到这一点.有人有主意吗?

Ste*_*sop 5

听起来像胡说八道.条目总数是奇数.增加数组长度的唯一方法是使其成为较小的第一个参数doubleUp,在这种情况下,它最终会产生偶数个元素.因此,除非所有元素都在一个数组中开始,否则无法使一个数组包含所有元素,排序或其他.

因此,期望的最终结果不是包含所有元素的单个数组.或者如果是,那么问题的答案是"它无法完成".