Menu
Coddy logo textTech

Implementation (Part 2)

Урок 6 из 9 курса Быстрая сортировка — серия DSA на Coddy.

Теперь мы объединяем опорный элемент, разбиение и рекурсию в полный алгоритм.

challenge icon

Задание

Легко

Теперь объедините все это в полный алгоритм.

Напишите функцию с именем quickSort, которая принимает массив целых чисел и возвращает его отсортированным в возрастающем порядке.

Используйте последний элемент в качестве опорного (pivot), разделите остальные элементы на группу меньших и группу больших, рекурсивно вызовите quickSort для каждой группы и объедините их как отсортированные-меньшие + опорный + отсортированные-большие. Массив из 0 или 1 элемента уже отсортирован, поэтому верните его как есть.

Вы можете повторно использовать идею разбиения (partition) из предыдущего урока.

Попробуйте сами

#include <stdlib.h>

int* quickSort(int* arr, int arr_size, int* returnSize) {
    // Напишите код здесь
    *returnSize = arr_size;
    return arr;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Быстрая сортировка — серия DSA