У меня есть реализация карты, где идентификатор хранится как значение и помечен как ключ. Это позволяет мне использовать автоматическую сортировку на картах и позволяет идентифицировать идентификатор элемента с наивысшими отметками.Разница между rbegin и конечной функцией в стандартной библиотеке
for(map<int, int>::iterator i = marks.begin(); i != marks.end(); ++i)
cout << i->first << "\t" << i->second << endl;
cout << marks.rbegin()->second << endl;
cout << marks.end()->second << endl;
производит этот выход:
312 3
420 4
512 2
752 1
1
420
Последовательность ввода была порядке возрастания значений. Почему end()
не отображает «1», но вместо этого отображает клавишу последней введенной пары? В чем разница между rbegin()
и end()
?
Это не относится к вопросу, но не используйте 'std :: endl', если вам не нужен дополнительный материал, который он делает. '' \ n'' заканчивает линию. –
Что касается вашего запроса на форматирование отзывов: см. Мои изменения :-) Не используйте изображения текста. – Angew