我有两个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',例如),但是你必须更明确地陈述你的需求。不要灰心 - 尝试编辑问题以使其更加明确。另一个是数据约束 - 它们总是整数吗?如果是这样,在一个狭窄的范围内? –