Перейти к содержимому
Задача · Алгоритмы и сложность · урок 8 из 9

Задача: сортировка по ключу

Напишите функцию void sort_by_age(std::vector<Person>& people), которая упорядочивает людей по возрасту, от младших к старшим. Люди одного возраста должны остаться в том порядке, в котором были до вызова. Структура Person уже есть в файле: это группа именованных полей, где p.name — имя, а p.age — возраст.

  • {{"a", 30}, {"b", 25}, {"c", 40}} → {{"b", 25}, {"a", 30}, {"c", 40}}
  • {{"a", 30}, {"b", 20}, {"c", 30}, {"d", 20}} → {{"b", 20}, {"d", 20}, {"a", 30}, {"c", 30}}

Ограничения: вектор может быть пустым, а возрасты разных людей могут совпадать. В проверках есть вектор из 26 человек с именами A, B, …, Z и возрастами 2, 1, 2, 1, …: после сортировки сначала идут все люди возраста 1, потом все возраста 2, и внутри каждой группы порядок прежний.

Не добавляйте лишних #include, если в задаче это прямо не сказано.

sort_by_age.cpp — cpp
cpp · строк: 12
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом