Forse non ti è chiaro il funzionamento di Quicksort.
In pseudocodice da wikipedia:
codice:
Procedure Quicksort(A)
Input A, vettore a1, a2, a3 .. an
begin
if n ≤ 1 then return A
else
begin
scegli un elemento pivot Ak
calcola il vettore A1 dagli elementi ai di A tali che i ≠ K e ai ≤ ak
calcola il vettore A2 dagli elementi aj di A tali che j ≠ K e aj > ak
A1 ← Quicksort(A1)
A2 ← Quicksort(A2)
return A1 · (ak) · A2
end
Nel tuo caso, se prendi 1 come pivot i 2 array che verranno creati sono
A1 <- []
A2 <- [3,7,8,11,15,17]
viene quindi richiamato l'algoritmo su A1 e A2 in modo ricorsivo.
La chiamata su A1 terminerà subito, il risultato sarà quindi 1 seguito dal risultato della chiamata su A2