用C++编写一个函数String::Frequency,以确定字符串中不同字符各自出现的频度,并用适当的数据对函数进行测试
时间: 2024-10-06 15:00:50 浏览: 25
在C++中,你可以创建一个名为`Frequency`的函数,它接受一个字符串作为输入,然后统计每个字符的频率。这个函数通常会使用一个`std::map`来存储字符及其对应的计数。下面是一个简单的实现示例:
```cpp
#include <iostream>
#include <string>
#include <unordered_map>
std::unordered_map<char, int> Frequency(const std::string& str) {
std::unordered_map<char, int> freq;
for (char c : str) {
// 对于大小写字母和非字母字符,可以先转换统一处理
char lower_c = std::tolower(c);
if (isalpha(lower_c)) {
freq[lower_c]++;
}
}
return freq;
}
int main() {
std::string test_str = "Hello, World!";
std::unordered_map<char, int> result = Frequency(test_str);
// 打印字符及其频率
for (const auto &pair : result) {
std::cout << "Character '" << pair.first << "' appears " << pair.second << " times.\n";
}
阅读全文