实现(第 1 部分)
Coddy 快速排序:DSA 系列 课程的第 5 课,共 9 课。
我们将从核心操作开始,逐步构建快速排序。
挑战
简单快速排序的核心是分区步骤。我们先来实现这一步。
编写一个名为 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;
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
快速排序:DSA 系列中的所有课
自己练习: C 在线编译器