Роббинс Арнольд
Шрифт:
6.2.1.1. Пример: сортировка сотрудников
Для более сложных структур требуются более сложные функции. Например, рассмотрите следующую (довольно тривиальную)
Мы могли бы написать функцию для сортировки сотрудников по фамилии, имени и идентификационному номеру:
Логика здесь проста: сначала сравниваются фамилии, затем имена, а затем номера ID, если два имени совпадают. Используя для строк
При сравнении ID сотрудников нельзя просто использовать вычитание: представьте, что
ЗАМЕЧАНИЕ. Возможно, мы остановились при сравнении имен, в этом случае все сотрудники с совпадающими фамилиями и именами оказались бы сгруппированы, но никак не отсортированы
Это важный момент
Просто используя другую функцию, мы можем отсортировать сотрудников по старшинству:
Для максимальной переносимости мы использовали
должно сработать, поскольку значения
Вот пример файла данных со списком пяти президентов США: