Сортировка трех элементов с помощью сравнений

Главная страницаПара слов о проектеПолезные алгоритмы для начинающихСортировка трех элементов с помощью сравнений

Предлагаемый алгоритм работает с любыми типами данных и может пригодиться в решении первых задач на числа и строки, когда надо сравнить три элемента.

Идея состоит в том, что для того, чтобы отсортировать значения нужно выполнить всего три сравнения:

Дано три числа a, b, и c.
Сравниваем a и b. Если a больше b меняем их значения местами. Теперь наше значение a гарантировано меньше чем b. Но что если значение c еще меньше?
Сравниваем a и c. Если a больше с – меняем их значения местами. Теперь в a находится гарантировано наименьшее значение. Осталось разобраться с b и c. Мы можем это сделать за одно сравнение.
Сравниваем b и c. Если b больше c – меняем их значения местами.

В результате этих нехитрых манипуляций мы получаем a < b < c

Python
a = 3
b = 2
c = 1

print(f'{a=}, {b=}, {c=}')

if a > b:  # если первое больше второго
    a, b = b, a  # меняем местами
if a > c:  # если первое больше третьего
    a, c = c, a  # меняем местами
if b > c:  # если второе больше третьего
    b, c = c, b  # меняем местами

print(f'{a=}, {b=}, {c=}')
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии