Мне непонятны последние две рекурсивный функции:
quicksort (array, start, pivot-1);
quicksort (array, pivot+1, end);
Как произойдёт вызов функции "quicksort (array, pivot+1, end);" если до неё происходит такая же рекурсия ,которая будет вызывать куиксорт заново .Фактически до вызова функции "quicksort (array, pivot+1, end);" дело даже не дойдёт, а тогда зачем она там ?