c++ - 计算整数 vector 的频率分布

标签 c++ vector distribution frequency

我正在做一个项目,我需要计算用户将输入的整数 vector 的频率分布。该分布将分为 10 个范围。我只是想不通如何正确地通过 vector 并调整每个间隔的最小值和最大值。这是我写的内容,我知道它离我很远(另外,x 是 vector 的名称:

double range = max - min;
double interval = ceil(range / 10);
double frequency = 0.0;
for (vector<int>::iterator it = x.begin(); it < x.end(); it++)
{
    if (*it > min)
    {
        min = (min + interval);
        min = *it;
    }
    if (*it < max)
    {
        max = min + interval;
        max = *it;
    }
    if (*it >= min && *it <= max)
        ++frequency;     

最佳答案

将 vector 划分为 vector 的 HashMap 。将初始 vector 中的值推回桶集中,并使用 std::min_element 和 std::max_element 找到每个范围中的最小/最大值。

我会发布伪代码,但我在手机上。

关于c++ - 计算整数 vector 的频率分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21886059/

相关文章:

c++ - 从另一个任务创建任务 - 用线程池库替换 std::async 时出现死锁

c++ - 从 vector 类的 vector 中读取数据 - C++

C++ vector 动态内存释放/删除

C++ push_back 仅将对象添加到 vector 中的位置 0

ios - iOS:临时配置

c++ - GCC 问题 : in template

c++ - 动态 vector 的特征库内存使用

iOS - 多设备混合应用错误代码 65 的分发构建失败

c++ - EAGAIN 上 recv()

linux - 分发静态链接的 ELF 32 位二进制文​​件 - 它会在所有平台上运行吗?