Menu
CoddyTech

实现(第 1 部分)

Coddy 快速排序:DSA 系列 课程的第 5 课,共 9 课。

我们将从核心操作开始,逐步构建快速排序。

challenge icon

挑战

简单

快速排序的核心是分区步骤。我们先来实现这一步。

编写一个名为 partition 的函数,将 arr 的最后一个元素作为基准值,并返回一个新数组,其中包含:

  • 所有小于基准值的元素(保持原有顺序),
  • 然后是基准值,
  • 最后是其余所有元素,也就是大于或等于基准值的元素(保持原有顺序)。

例如,[3, 7, 1, 8, 5] 会变成 [3, 1, 5, 7, 8](基准值为 5)。

亲手试试

#include <stdlib.h>

int* partition(int* arr, int arr_size, int* returnSize) {
    // 在这里编写代码
    *returnSize = arr_size;
    return arr;
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

快速排序:DSA 系列中的所有课

自己练习: C 在线编译器