2011-10-17 15 views
1

ISO比方說,我有對象的三個不同的陣列,我想將它們組合成一個排序的數組。我想要的順序是這樣的,每個數組中的項目均勻分佈在整個排序後的數組中。對數組排序,使得3種類型的對象均勻分佈在整個陣列分佈?

如果有3個xItems,3個yItems和3個zItems,所述排序後的數組將具有該順序: X,Y,Z,X,Y,Z,X,Y,Z

然而,即使如果陣列長度不同,我仍然需要儘可能使它們交替。如果有6個項目,4個項目和2個項目,排序的數組應該具有以下順序: x,y,x,y,x,z,x,y,x,y,x,z

最接近的答案,我能找到的this thread,在那裏他們不幸沒有找到答案:(

我正在一個ActionScript 3謝謝你的人誰能夠引導我朝着正確的方向!

+0

你描述的不排序。 –

+0

什麼是正確的術語使用? – user999436

回答

2

你需要打破。這個問題分成更小的問題,我對這個問題的嘗試會是這樣的:

問題1:如何合併2個集合,以便元素均勻分佈。

收藏答:X X X X X X

集B:Y Y

結果:X X X Y X X X Y

問題2:如何合併3個集?

我會繼續以下列方式:

步驟1:排序3收集通過其長度。

步驟2:與合併所述第三集合,其結果從步驟2再次:合併最短2個集合到一個收集與溶液從問題1.

步驟3從問題相同的算法1.

所以,基本上,現在你必須解決只有問題1.

+0

這是查看它的好方法。如果我能弄清楚,我會在代碼中留下另一條評論。謝謝你的幫助! – user999436

+0

問題1是不是很難搞清楚,但儘管如此,我認爲把它在我的回答會破壞樂趣,爲你。 –