gpt4 book ai didi

c++ - 计算数组中的元素

转载 作者:行者123 更新时间:2023-11-28 03:50:19 36 4
gpt4 key购买 nike

所以,我正在尝试统计数组的元素。我的意思是,我有一个大数组,每个元素在整个数组中都有其自身的倍数。我试图弄清楚每个元素出现了多少次,但是我一直遇到重复计数的问题。由于“x”可能存在于数组中的 12 个不同位置,因此当我遍历它并保持运行总和时,我得到了“x”12 个不同时间的计数。有谁知道一种更简单/更好的方法来保持数组的计数而不重复?

我的代码是:

其中count是元素个数

    for(i=0;i<count;i++)
{


for(x=0; x<count;x++)
{
if(array[i]==array[x])
{
tallyz++;
}

}

tally[i]=tallyz-1;
tallyz=0;
}

}

最佳答案

std::map<X, unsigned> tally;

for(i = 0; i < count; ++i)
++tally[array[i]];

请注意,如果阵列中的冗余度相当高,这是最好的。如果大多数项目都是唯一的,那么您最好只按照其他人提到的那样对数组进行排序。

关于c++ - 计算数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5768215/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com