map用法:
map<string,string>q;
可以直接q[s1] = s2; 这开辟了一个空间。
查找可以s.find(s1); 返回一个迭代器,指向s1 可以 , printf("%s\n", q[s1].c_str()); 输出string,如果是%d,则 q[s1]即可
也可以s.count(s1),统计s1数量,只能是1||0,
s.erase(s1),删除s1
s.clear();全部清空
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <queue>
using namespace std;
int main()
{
map<string,string>q;
map<string,string> :: iterator t;
char s[15], s1[15], s2[15];
while(gets(s)&&strlen(s)){
sscanf(s,"%s %s", s1, s2);
q[s2] = s1;
}
while(~scanf("%s", s1)){
t = q.find(s1);
if(t != q.end()){
printf("%s\n", q[s1].c_str());//cout << t->second << endl;
}else {
printf("eh\n");
}
}
return 0;
}