根据存储在集合中的数字计算向量中的int
Counting an int in a vector from a number stored in a set?
所以,这听起来可能令人困惑,但我正在编写一个素数分解方法,我正在试图找出某个数字在向量中出现的次数。为了做到这一点,我制作了一个包含唯一值的集合(这样我就知道在向量中要计算哪些数字/有多少数字),但我很难将其组合在一起。
我知道我可以使用迭代器通过向量进行计数,但我不知道如何说,"嘿,检查集合中第一位置的数字。"我查看了资源,但它们只使用find,我假设我不知道vector<int>
中的数字是什么,也不知道索引在哪里,数字在哪里变化(如果有的话)。
我想我可以在集合中迭代,但这样做会给我所有数字的计数,我将其存储在另一个向量中。我的意思是,我想我可以把计数向量一分为二,但这有点偷工减料,我宁愿第一次就把它编码好,也不想想出一些技巧来得到我想要的结果,因为我在以前写的方法中做了后者,但它只在有时起作用。
因此,如果是这种情况,则不需要Set
进行计数,只需迭代映射-
void SomeClass::Insert (int newNumber)
{
if (m_map.count (newNumber) > 0)
{
m_map[newNumber]++;
}
else
{
m_map[newNumber] = 1;
}
}
void SomeClass::Count ()
{
for (map<int,int>::iterator it=m_map.begin(); it!=m_map.end(); ++it)
{
std::cout << "the number: "<< it->first << " apears " << it->second << "times" <<'n';
}
}
相关文章:
- 如何计算向量[5][1] N次
- 如何使用count_if计算向量中的可变数字范围
- 如何以C++为单位计算向量中的字节数?
- 计算向量中大于数字的元素
- 如何在 CPU 上计算向量变换?
- 计算向量的std ::映射为键的值,并将双倍作为值
- 使用异步/期货并行和并发计算向量的范数
- 使用模板计算向量的平均值
- 计算向量::empty()正在使程序崩溃
- 如何在不使用loop或std :: comguate()的情况下计算向量的总和
- 计算向量<向量中重复元素的出现次数<Object>>
- 使用Boost MPL来计算向量的长度
- 计算向量中值的最小差值的此函数的算法复杂度是多少
- 计算向量中偶数长度的单词
- 计算向量中单词的出现次数
- VecCL:计算向量中最小值以上的值的数量
- 在for循环中,每次迭代计算向量的大小是否很昂贵
- 我正在制作一个简单的程序来计算向量结果,但我无法弄清楚为什么它不起作用。
- 如何有效地计算向量的余切
- 使用rtree(或任何其他算法)计算向量中组的频率