Список оценок, список цен, дети класса по росту: очень многие задачи начинаются со слов «расположите по порядку», а очень многие другие становятся простыми, как только данные уже упорядочены. Этот урок о сортировке — сначала один раз вручную, чтобы увидеть, чего она стоит, а потом силами C++.
Что значит «отсортирован»
Вектор отсортирован по возрастанию, когда каждый элемент не меньше
предыдущего: a[i - 1] <= a[i] для каждого i. Равные значения могут стоять
рядом, так что 1 3 3 7 отсортирован. Сортировка переставляет значения и
больше ничего: те же числа, столько же копий каждого, в новом порядке.
Даны n оценок. Выведите их от самой низкой к самой высокой, а затем три самые высокие.
Сортировка вручную: сортировка выбором
Вот как это сделал бы человек с рядом карт. Найти самую маленькую карту и обменять её с первой. Затем найти самую маленькую среди остальных и обменять её со второй. И так далее; каждый ход окончательно закрепляет ещё одну позицию. Это сортировка выбором: каждый ход выбирает наименьшее из того, что осталось: