0
У меня есть вектор-строка std::vector<string> list
, и я пытаюсь найти N-й самый высокий повторяющийся элемент вектора.C++ Найти N-й наивысший элемент карты
У меня есть карта, включающая элементы вектора и число повторений из них.
std::map<std::string , int> mapa;
for(int i = 0 ; i<list.size() ; i++)
mapa[list[i]]++;
Как найти N-ю самую высокую из них по карте?
Пример вектор:
qwe asd qwe asd zxc asd zxc qwe qwe asd sdf asd fsd
, если N 2, мне нужно из положить как
asd 5
qwe 4
Вы можете хочу sider ['std :: unordered_map'] (http://en.cppreference.com/w/cpp/container/unordered_map) вместо этого [' sort'] (http://en.cppreference.com/w/cpp/ алгоритм/сортировка) на значение и получить n: th первых элементов? –
@Someprogrammerdude У меня нет опыта работы с картой и, пожалуйста, расскажите мне, как я могу добавить элементы вектора к unordered_map? То же самое с картой? – ffttyy
Предлагаю вам перейти по ссылке к ссылке. Но, короче говоря, интерфейс почти такой же, как для 'std :: map'. –