需求
输入一些字符,统计每种字符出现的次数。可以用hash表统计。
实现
#include <iostream>
#include <unordered_map>
using namespace std;
unordered_map<string, int> mmp;
int main() {
int n;
cin >> n;
while (n--) {
string ts;
cin >> ts;
if (mmp.find(ts) == mmp.end()) { // 查找是否有键ts
mmp[ts] = 1;
}
else {
mmp[ts]++;
}
}
// 两种输出方法
for (unordered_map<string, int>::iterator it = mmp.begin(); it != mmp.end(); it++) {
cout << (*it).first << " " << (*it).second << endl;
}
for (auto x : mmp) {
cout << x.first << " " << x.second << endl;
}
return 0;
}
上面的代码用到了find方法找指定的键,还有就是unordered_map可以直接遍历,但是要注意遍历unordered_map是无序的。