В чём разница между устойчивой и неустойчивой сортировками?

Устойчивая сортировка сохраняет относительный порядок элементов с одинаковыми ключами (значениями) из исходного массива.

Короткий ответ

Что ответить на собеседовании

Устойчивая сортировка сохраняет относительный порядок элементов с одинаковыми ключами (значениями) из исходного массива. То есть, если два элемента равны по ключу, то после сортировки они будут идти в том же порядке, что и до неё.

Подробный разбор

Ответ с пояснениями

Устойчивая сортировка сохраняет относительный порядок элементов с одинаковыми ключами (значениями) из исходного массива. То есть, если два элемента равны по ключу, то после сортировки они будут идти в том же порядке, что и до неё.

Неустойчивая сортировка не гарантирует сохранение этого порядка — элементы с одинаковыми ключами могут поменяться местами.

Пример: если у вас есть список объектов с полями "имя" и "возраст", и вы сортируете по возрасту, то устойчивая сортировка сохранит порядок имён для одинакового возраста, а неустойчивая — нет.

В Go стандартная библиотека предоставляет как устойчивые (например, sort.SliceStable), так и неустойчивые (sort.Slice) методы сортировки.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее