直接上代码!
map-赋值与遍历
#include <iostream>
#include <map>
using namespace std;
int main() {
int n, x;
char c;
cin >> n;
map<char, int> mp;
for (int i = 0; i < n; i++) {
cin >> c >> x;
mp[c] = x;
}
for (map<char, int>::iterator it = mp.begin(); it != mp.end(); it++) {
cout << it -> first << " " << it -> second << endl; //map内部按key有序
}
return 0;
}
map-find
#include <iostream>
#include <map>
using namespace std;
int main() {
int n, x;
char c;
cin >> n;
map<char, int> mp;
for (int i = 0; i < n; i++) {
cin >> c >> x;
mp[c] = x;
}
cin >> c; //需要寻找的键
if (mp.find(c) != mp.end()) {
cout << mp[c];
} else {
cout << -1;
}
return 0;
}
map-erase
#include <iostream>
#include <map>
using namespace std;
int main() {
int n, x;
char c;
cin >> n;
map<char, int> mp;
for (int i = 0; i < n; i++) {
cin >> c >> x;
mp[c] = x;
}
cin >> c;
mp.erase(c);
for (map<char, int>::iterator it = mp.begin(); it != mp.end(); it++) {
cout << it -> first << " " << it -> second << endl;
}
return 0;
}
map-clear与size
#include <iostream>
#include <map>
using namespace std;
int main() {
int n, x;
char c;
cin >> n;
map<char, int> mp;
for (int i = 0; i < n; i++) {
cin >> c >> x;
mp[c] = x;
}
cout << mp.size();
mp.clear();
cout << " " << mp.size();
return 0;
}
map-访问与操作
#include <iostream>
#include <map>
using namespace std;
int main() {
int n;
string str;
cin >> n;
map<string, int> mp;
for (int i = 0; i < n; i++) {
cin >> str;
if (mp.find(str) == mp.end()) {
mp[str] = 1;
} else {
mp[str]++;
}
}
for (map<string, int>::iterator it = mp.begin(); it != mp.end(); it++) {
cout << it -> first << " " << it -> second << endl;
}
return 0;
}
/*
输入:
3
abc
test
abc
输出:
abc 2
test 1
*/