PROCEDURE Quicksort( l, r ) BEGIN WHILE l < r DO { dopóki fragment dłuższy niż 1 element } BEGIN i := PodzielTablice( l, r ); IF (i-l) ? (r-i) THEN BEGIN { TAK? } Quicksort( l, i-1 ); { posortuj lewą, krótszą część } l := i+1 { i kontynuuj dzielenie dłuższej } END ELSE BEGIN Quicksort( i, r ); { posortuj prawą część } r := i-1 { i kontynuuj dzielenie dłuższej } END END END
Wyszukiwarka