c++统计一个字符串中每个字符出现的次数
作者:野牛程序员:2023-07-06 10:31:15 C++阅读 2907
要统计一个字符串中每个字符出现的次数,你可以使用一个哈希表(unordered_map)来实现。下面是一个使用C++的示例代码:
#include <iostream> #include <unordered_map> using namespace std; int main() { string str; cout << "输入字符串: "; getline(cin, str); unordered_map<char, int> charCount; // 遍历字符串中的每个字符,并统计出现次数 for (char c : str) { // 如果字符已经在哈希表中存在,则增加对应的计数 if (charCount.find(c) != charCount.end()) { charCount[c]++; } // 如果字符不在哈希表中,则将其插入,并初始化计数为1 else { charCount[c] = 1; } } // 打印每个字符和对应的出现次数 cout << "字符出现次数:" << endl; for (auto pair : charCount) { cout << pair.first << ": " << pair.second << endl; } return 0; }
这段代码首先要求用户输入一个字符串,然后使用哈希表 charCount
统计每个字符出现的次数。在遍历字符串的过程中,我们检查当前字符是否已经在哈希表中。如果存在,我们增加其对应的计数;如果不存在,我们将字符插入哈希表,并将计数初始化为1。最后,我们打印出每个字符和对应的出现次数。
请注意,这段代码中使用了 C++11 中引入的范围循环 (range-based for loop) 语法,它允许我们直接遍历容器中的元素。另外,我们使用 std::unordered_map
来实现哈希表,它提供了常数时间复杂度的插入和查找操作。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
