Dan*_*iel 3 arrays sorting algorithm
这是傻瓜:
从三个阵列A,B和C开始,总共有
2n+1条目.编写一个算法,仅使用以下两种方法对所有数组中的所有条目进行排序:
X = sort(X)用X排序的版本替换数组.
(X , Y) = doubleUp(X , Y)如果X有更多的元素Y,则不执行任何操作,否则它会删除第一个length(X)条目Y并将它们附加到结尾X.
这是我到目前为止所尝试的内容.如果其中两个数组为空,则只需使用sort非空数组.
如果其中一个数组是空的,那么我认为我可以使用doubleUp一个数组只有一个而另一个数组拥有其他所有数据,如果该单例数组具有最小(或最大)的元素,则可行.所以我可以sort在doubleUp每次使用之后使用以确保这种情况发生.我在Maple中对此进行了编码,它适用于我检查过的所有情况.
我不知道如何用3个阵列做到这一点.有人有主意吗?
听起来像胡说八道.条目总数是奇数.增加数组长度的唯一方法是使其成为较小的第一个参数doubleUp,在这种情况下,它最终会产生偶数个元素.因此,除非所有元素都在一个数组中开始,否则无法使一个数组包含所有元素,排序或其他.
因此,期望的最终结果不是包含所有元素的单个数组.或者如果是,那么问题的答案是"它无法完成".