Быстрая сортировка на Kotlin
Идея алгоритма
1)Выбирается опорный элемент — им может быть любой элемент массива (я в качестве опорного выбираю средний элемент массива).
2)Все остальные элементы массива сравниваются с опорным и те, которые
меньше него, ставятся слева от него, а которые больше или равны —
справа.
3)Для двух получившихся блоков массива (меньше опорного, и больше либо
равны опорному) производится точно такая же операция — выделяется
опорный элемент и всё идёт точно так же, пока в блоке не останется один
элемент.
Решил написать этот пост так как наболело. Сейчас читаю Грокаем алгоритмы, Адитья Бхаргава . А там этот алгоритм реализован на Python, ну и выглядит он классно и лаконично. Бросил себе вызов и написал на Kotlin в том же духе.
Красота же?😂
Идея алгоритма
1)Выбирается опорный элемент — им может быть любой элемент массива (я в качестве опорного выбираю средний элемент массива).
2)Все остальные элементы массива сравниваются с опорным и те, которые
меньше него, ставятся слева от него, а которые больше или равны —
справа.
3)Для двух получившихся блоков массива (меньше опорного, и больше либо
равны опорному) производится точно такая же операция — выделяется
опорный элемент и всё идёт точно так же, пока в блоке не останется один
элемент.
Решил написать этот пост так как наболело. Сейчас читаю Грокаем алгоритмы, Адитья Бхаргава . А там этот алгоритм реализован на Python, ну и выглядит он классно и лаконично. Бросил себе вызов и написал на Kotlin в том же духе.
Красота же?😂