SLIDE 5 Quicksort : Partition
Par t i t i on( A, p, r ) { c = A[ p] i = p- 1; j = r +1 whi l e ( i < j ) { r epeat j = j - 1 unt i l ( A[ j ] ≤ c ) r epeat i = i +1 unt i l ( A[ i ] ≥ c ) } r et ur n j } j i
...
p r
A ...
p r
A
< c
> c
Quicksort : Partition
Par t i t i on( A, p, r ) { c = A[ p] i = p- 1; j = r +1 whi l e ( i < j ) { r epeat j = j - 1 unt i l ( A[ j ] ≤ c ) r epeat i = i +1 unt i l ( A[ i ] ≥ c ) i f i < j exchange A[ i ] , A[ j ] } r et ur n j } j i
...
p r
A ...
p r
A
Quicksort : Partition
Par t i t i on( A, p, r ) { c = A[ p] i = p- 1; j = r +1 whi l e ( i < j ) { r epeat j = j - 1 unt i l ( A[ j ] ≤ c ) r epeat i = i +1 unt i l ( A[ i ] ≥ c ) i f i < j exchange A[ i ] , A[ j ] } r et ur n j } j i
...
p r
A ...
p r
A
≤ c ≥ c
Quicksort : Partition
Par t i t i on( A, p, r ) { c = A[ p] i = p- 1; j = r +1 whi l e ( i < j ) { r epeat j = j - 1 unt i l ( A[ j ] ≤ c ) r epeat i = i +1 unt i l ( A[ i ] ≥ c ) i f i < j exchange A[ i ] , A[ j ] } r et ur n j } j i
...
p r
A ...
p r
A
≤ c ≥ c