我有一个清单:
Class Name Surname
Math John Johnson
Programming Tom Tomson
Physics John Johnson
我想找出哪个老师教大多数课程并将其作为字符串返回。我写了一个简单的类来保存,获取,添加信息。
template <typename tip>
string FindTeacher(List <tip> & A)
{
string module, surname, name, TeacherX;
for (int i = 0; i < A.Length(); i++)
{
tip kk = A.Take(i);
kk.Take(module, surname, name);
//stuck on this part, what to do next?
//how do i find that John Johnson teaches 2 classes, and Tom teaches only 1
}
return TeacherX;
}
如果我很难理解,我非常抱歉,英语不是我的母语。
答案 0 :(得分:0)
您可以使用std::unodered_map
或std::map
以std::pair<std::string, std::string> >
为关键,
和size_t作为数据,每次你得到:
kk.Take(module, surname, name);
按键(姓氏,名称)查找,如果没有插入1作为数据,否则将数据增加1。