当前位置:首页 C++ > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击