我有兩個C++中的數組,長度相同。我想要得到兩個新數組:第一個新數組將具有第一個原始數組的唯一元素,而第二個新數組的第二個原始數組中的相應值。例如:在C++中保存一個數組的獨特元素
原件:
第一:1 7 2 3 5 4 4 8 9 9 4 6 7
第二:1 1 1 2 2 2 3 3 3 4 4 5 5
和我想獲得:
第一:1 7 2 3 5 4 8 9 6
第二:1 1 1 1 2 2 3 3 5
也許我可以使用散列表,但不太清楚如何去做。任何類型的解決方案都很好。先謝謝您的幫助。
是否要保留原始數組中的元素順序? –
你的數組有多大,常見?如果它像數十個元素一樣,只需使用連續表示('std :: vector'或者理想情況下優化以避免在這種小的情況下免費存儲)就可以做得更好。如果它更大,則使用'std :: set'。哦,安東說什麼 - 你想保留插入順序? –
關於downvotes和close的投票,這個問題可能很有趣(除非它只是精確地調用'std :: set',例如),但是你必須更明確地陳述你的需求。不要灰心 - 嘗試編輯問題以使其更加明確。另一個是數據約束 - 它們總是整數嗎?如果是這樣,在一個狹窄的範圍內? –