> Что должна возвращать функция сравнения (iOS, Swift)

Уровень: senior · Роль: mobile · Категория: Технические вопросы

Компании: Revolut

Стек: iOS, Swift

> Пример ответа

Функция сравнения (например, для sort(by:) или sorted(by:) в Swift) должна возвращать булево значение (Bool), которое указывает, находится ли первый элемент перед вторым в отсортированном порядке.

  • Если возвращается true, значит первый элемент должен располагаться перед вторым.
  • Если возвращается false, значит порядок не требуется менять (или второй элемент должен быть перед первым).

Пример для сортировки чисел по возрастанию:

SWIFT
let sorted = [3, 1, 2].sorted { $0 < $1 } // [1, 2, 3]

Здесь $0 < $1 возвращает true, когда первый элемент меньше второго, что соответствует возрастанию.

Важно: Функция должна быть строгой (строгий порядок) - для равных элементов всегда возвращать false, иначе сортировка может привести к неопределённому поведению или ошибке. Например, для сортировки по убыванию используйте >:

SWIFT
let descending = [3, 1, 2].sorted { $0 > $1 } // [3, 2, 1]

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью