【发布时间】:2012-02-07 13:50:56
【问题描述】:
我想从我的(动态分配的)数组中提取唯一值。我有这样的事情:
[0] 0 int
[1] 1 int
[2] 2 int
[3] 2 int
[4] 2 int
[5] 5 int
[6] 6 int
[7] 6 int
[8] 8 int
[9] 9 int
[10] 10 int
[11] 8 int
[12] 12 int
[13] 10 int
[14] 14 int
[15] 6 int
[16] 2 int
[17] 17 int
[18] 10 int
[19] 5 int
[20] 5 int
我想要一个大小为 12 的数组,其中的每条记录都是另一个数组的唯一值。
我该怎么做?
编辑
我忘了提到我不能使用 STL 容器(比如 std::vector 或 std::list)
【问题讨论】:
-
你知道动态分配数组中的最大值和最小值吗?
-
@Jayantha 我可以得到这个值是的。但是为了什么?
-
@Patryk:你能用 STL 算法吗?
-
@Patryk:我猜 Jayantha 的问题是这些值是否是固定的并且 small(根据一些小的定义)......可能的意图是你可以创建一个N bool 的数组(或使用位图),遍历数组 O(N) 标记存在的元素。然后位图将包含原始数组中存在的一组值。