2013-12-10 75 views
-1

我有一個n大小的數組,我想查找k大小的組合。我不只是想打印這些組合,而是希望將這些組合存儲在其他數組或任何容器中。我讀了creating all possible k combinations of n items in C++,但無法成功將組合存儲在其他陣列中。這是因爲我想對這些組合進行操作。我正在尋找任何有關這方面的提示。 在此先感謝。查找數組中存儲的數字的組合,並將這些組合存儲在另一個數組中

+0

*如何*你不成功?你有沒有嘗試在調試器中逐句通過你的代碼來看看會發生什麼?如果你還沒有這樣做,那麼我建議你請閱讀[Stack Overflow問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist)。 –

+0

我可以打印這些組合,但我怎樣才能決定結果數組的大小(哪些組合會有),我應該使用數組還是其他容器? – user2587991

+0

爲什麼不使用['std :: vector'](http://en.cppreference.com/w/cpp/container/vector)?事先不需要知道尺寸。 –

回答

0

由於缺乏選擇別的特定原因,您可能想將結果存儲在向量中。

您可以非常容易地預先計算結果數量 - 每次拍攝N個項目會產生N!/K!(N-K)!的總組合。

冒着聽起來居高臨下的風險(我不打算),我會指出N!很快就會增加,所以如果N和K之間的差異非常大,結果可能會比大多數計算機可以合理存儲的結果容易得多。

+0

非常感謝,讓我告訴你,假設N和K之間的差別不會太大。 – user2587991

相關問題