Скажем, у меня есть std::vector. Скажем, векторы содержат числа. Возьмем этот std::vector
1,3,5,4,3,4,5,1,6,3
std::sort<std::less<int>> will sort this into
1,1,3,3,3,4,4,5,5,6,
Как бы мне изменить сортировку, чтобы она одновременно сортировала и вычисляла количество чисел на том же уровне. Итак, скажем, в дополнение к сортировке он также скомпилирует следующий словарь [уровень также int]
std::map<level, int>
<1, 2>
<2, 3>
<3, 2>
<4, 2>
<5, 1>
<6, 1>
так что есть 2 1, 3 3, 2 4 и так далее.
Причина, по которой я [думаю], что мне это нужно, заключается в том, что я не хочу сортировать вектор, ТОГДА еще раз вычислять количество дубликатов на каждом уровне. Кажется, быстрее сделать это за один проход?
Спасибо вам всем! bjskishore123 ближе всего к тому, о чем я спрашивал, но все ответы меня многому научили. Спасибо еще раз.
sort()
действительно все равно, сколько чего-то присутствует; скорее, он заботится только о порядке. Но вам не нужна карта ИЛИ набор, если все, о чем вы заботитесь, это подсчеты. - person WhozCraig   schedule 14.05.2013