假設我們有這樣的整數數組稱爲data
具有關於最終排序的數組額外的信息時,高效排序的整數數組
3
2
4
5
2
另外,我們有以下相同大小的數組稱爲info
1
4
0
2
3
info
的每個值表示所述第一陣列上的索引。因此,例如,所述第一值是1
這意味着0
位置的最終排序陣列將具有值data[info[0]]
。
通過遵循該邏輯的最終排序陣列將是以下:
data[info[0]] => 2
data[info[1]] => 2
data[info[2]] => 3
data[info[3]] => 4
data[info[4]] => 5
我想作的代替分選data
陣列的,而無需使用大小N
其中N
的任何額外的存儲器是data
陣列的大小。另外我希望總操作的數量儘可能小。
我一直想解決我的問題,但是我想不出任何東西,不會使用額外的內存。請記住,這些是我自己對我正在實施的系統的限制,如果這些限制不能保留,那麼我可能不得不考慮其他事情。
任何想法,將不勝感激。
預先感謝您
你需要信息數組保持完整後排序(我猜不是因爲它被排序)? – 2013-04-29 21:10:14
我不需要它保持完整。 – ksm001 2013-04-29 21:11:37
三個答案,並且沒有您的反饋?你確實說過「任何想法都會被讚賞」?是否有任何答案以任何方式幫助你? :) – 2013-05-01 20:24:19