16 static size_t array_partition(
t_array *array,
size_t lo,
size_t hi)
25 while (array->
type->
cmp(array->
arr[++i], array->
arr[lo]) <= 0)
28 while (array->
type->
cmp(array->
arr[lo], array->
arr[--j]) <= 0)
39 static void array_quick_sort_recur(
t_array *array,
size_t lo,
size_t hi)
45 pivot = array_partition(array, lo, hi);
46 array_quick_sort_recur(array, lo, pivot);
47 array_quick_sort_recur(array, pivot + 1, hi);
54 array_quick_sort_recur(array, 0, array->
size - 1);