сортировка, количество вызовов
void swap_local(int *left, int *right) {
    int temp = 0;
    temp = *right;
    *right = *left;
    *left = temp;
}
void sort_by_swap(int arrays[], int left, int right) {
    if (left >= right) {
        return;
    }
    for (int i = left; i <= right; ++i) {
        if (arrays[left] > arrays[i]) {
            swap_local(&arrays[left], &arrays[i]);
        }
    }
    sort_by_swap(arrays, ++left, right);
}Собственно, аноны, только учусь. Вопрос вот в чем: функция sort_by_swap вызывается 8 раз и цикл for внутри нее 34 раза для сортировки массива из восьми элементов. Есть ли какие-то практики по уменьшению количества вызывов во время сортировки? Куда копать, что почитать? И самое важное: сколько вызовов приемлемо для массива n-размерности? НУ, шобы прям не линейно было. Спасибо.