如何获得数组中每个数字的普遍性?

时间:2016-01-22 13:35:48

标签: c++ arrays loops sorting

我想获得每个数字在数组中重复多少次的信息。我正在做这样的事情:

for (int j = 0; j < n; j++){
        cin >> x;
        arr[x]++;
    }

然后我意识到给定的数字可能很大,因为&#34; 521659942&#34;。显然我无法创建具有该大小的数组。

arr[x]++;

这是无效的。那么我该怎么做才能学会每个数字的普遍性呢?

1 个答案:

答案 0 :(得分:2)

你基本上使用arr [x]作为std::map<int,int>。数组的索引是您当前的密钥,您要存储数字。

使用map并在找到值时输入值。类似的东西:

encounteredNumbers[key]++;

std::unordered_mapstd::map都在这里工作,choosing between them