У меня есть std :: map mymap
Теперь, если я вставляю в карту такие значения, как:
std::map <string, string> mymap;
mymap["first"] = "hi";
mymap["third"] = "how r you";
mymap["second"] = "hello";
Теперь я хочу перебрать карту и распечатать значение в отсортированном (ключи ) способ:
map<string, string>::iterator itr;
for(itr = mymap.begin(); itr != mymap.end(); itr++)
{
string newline = itr->second;
cout << newline << endl;
}
Вывод должен быть:
hi
hello
how r you
Я думал, что по умолчанию карта хранится в порядке сортировки ключей, но я получаю тот же порядок вывода, что и ввод. Нужно ли мне предоставлять для этого свою функцию сортировки или нужно что-то делать перед итерацией по карте?