У меня есть карта, определенная как
map<string,map<string,int> > subjectCodes;
каждая строка темы имеет свою собственную карту курсов
У меня также есть 2 итератора, определенных
map<string,map<string,int> >::iterator it;
map<string,int>::iterator jt;
от одного доитерации по каждому предмету и по одному для итерации по каждому курсу по каждому предмету
Мне нужно, чтобы моя программа прочитала 50000 строк информации, отсортировала их на карте и распечатала все за менее чем 1 секунду.Я думаю, что нашел самый быстрый способ добавить все на карту, но я изо всех сил пытаюсь ускорить печать, которая в данный момент равна 0 (n в квадрате) и заставляет мою программу запускаться около 3 секунд.
вот мой печатный код:
//print out sorted list
for(it=subjectCodes.begin();it!=subjectCodes.end();it++)
{
cout<<it->first<<": "<<(it->second).size()<<" courses"<<endl;
for(jt=(it->second).begin();jt!=(it->second).end();jt++)
{
cout<<" "<<jt->first<<": "<<jt->second<<" classes"<<endl;
}
}
есть ли более эффективный способ печати карты на карте, который кто-то может показать мне?Спасибо