在C++中,可以使用来统计数组中每个元素的出现次数。以下是一个示例代码:
#include <iostream> #include <map> #include <vector> void count_elements(const std::vector<int>& arr) { std::map<int, int> element_counts; // 统计元素出现次数 for (int elem : arr) { element_counts[elem]++; } // 输出元素及其出现次数 std::cout << "元素 频次" << std::endl; for (const auto& pair : element_counts) { std::cout << pair.first << " " << pair.second << std::endl; } } int main() { std::vector<int> array = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4}; count_elements(array); return 0; }
在这个示例中,函数接受一个类型的数组,并使用来记录每个元素的出现次数。函数中定义了一个示例数组并调用函数来统计并输出每个元素的频次。
方法二:
#include <iostream> #include <unordered_map> #include <vector> void count_elements(const std::vector<int>& arr) { std::unordered_map<int, int> element_counts; // 统计元素出现次数 for (int elem : arr) { element_counts[elem]++; } // 输出元素及其出现次数 std::cout << "元素 频次" << std::endl; for (const auto& pair : element_counts) { std::cout << pair.first << " " << pair.second << std::endl; } } int main() { std::vector<int> array = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4}; count_elements(array); return 0; }
如果不使用或,可以通过手动实现一个排序和计数的方式来统计数组中每个元素的出现次数。以下是一个示例代码:
#include <iostream> #include <vector> #include <algorithm> void count_elements(std::vector<int>& arr) { // 先对数组进行排序 std::sort(arr.begin(), arr.end()); // 遍历排序后的数组并计数 int current_element = arr[0]; int count = 1; std::cout << 澳门天天免费资料大全下载澳门彩"元素 频次" << std::endl; for (size_t i = 1; i < arr.size(); ++i) { if (arr[i] == current_element) { count++; } else { std::cout << current_element << " " << count << std::endl; current_element = arr[i]; count = 1; } } // 输出最后一个元素的计数 std::cout << current_element << " " << count << std::endl; } int main() { std::vector<int> array = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4}; count_elements(array); return 0; }
在这个示例中,函数首先对输入数组进行排序,然后遍历排序后的数组,统计每个元素的出现次数并输出。
王中王中特免費公開資料选料特色