#include using namespace std; //结构体 struct User { string LoginName; //上网的账号 vector Url; //网页名 }; //结构体+数组 vector v; int main() { int n, m; string loginName, url; cin >> n >> m; //录入数据 for (int i = 1; i <= m; i++) { cin >> loginName >> url; //布尔变量,是否找到 bool found = false; for (int j = 0; j < v.size(); j++) { //如果已有这个用户 if (loginName == v[j].LoginName) { v[j].Url.push_back(url);//在WEB里push网页名称 found = true;//已查找过 break; } } //新用户 if (!found) { User now; now.LoginName = loginName; now.Url.clear(); now.Url.push_back(url); v.push_back(now); } } //输出,迭代器访问 for (vector::iterator it = v.begin(); it != v.end(); it++) { //输出人员的ID cout << (*it).LoginName; //迭代输出二级的WEB网站名称 for (vector::iterator it1 = (*it).Url.begin(); it1 != (*it).Url.end(); it1++) { cout << " " << *it1;//因为迭代器里储存的是地址,在前面加上*号才能取值 } cout << endl; } return 0; }