如何对数字出现次数计数C++
时间: 2024-09-21 15:03:32 浏览: 56
在C++中,对数字出现次数计数通常可以使用哈希表(unordered_map 或者 std::map)的数据结构。这里是一个简单的示例,假设我们有一个整数数组:
```cpp
#include <iostream>
#include <unordered_map>
std::unordered_map<int, int> countElements(int arr[], int n) {
std::unordered_map<int, int> counts;
for (int i = 0; i < n; ++i) {
counts[arr[i]]++; // 如果元素已存在,计数加一;如果不存在,自动初始化为1
}
return counts;
}
int main() {
int arr[] = {1, 2, 3, 4, 2, 3, 1, 5, 6};
int n = sizeof(arr) / sizeof(arr[0]);
std::unordered_map<int, int> result = countElements(arr, n);
for (const auto& pair : result) {
std::cout << "Number " << pair.first << " appears " << pair.second << " times.\n";
}
return 0;
}
```
在这个例子中,`countElements` 函数遍历数组,使用哈希表 `counts` 记录每个数字出现的次数。`main` 函数中打印出结果。
阅读全文