Pivot jest w A[p], funkcja zwaraca granicę podziału
Part(A[1..n], p, r) x <- A[p] i <- p-1 j <- r+1 while(i<j) do repeat(j--) until A[j] <= x repeat(i++) until A[i] >= x if(i<j) swap(A[i], A[i]) else return j