30Мар/100
Быстрая сортировка (Pascal)
В дополнении к ЭТОЙ теме.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | procedure quickSort(l,h: integer ); var i,j,mid,tmp: integer ; begin i := l; j := h; mid := mArray[(l + h) div 2 ]; repeat while mArray[i] < mid do inc(i); while mArray[j] > mid do dec(j); if (i < = j) then begin if (i < j) then begin tmp := mArray[i]; mArray[i] := mArray[j]; mArray[j] := tmp; end ; inc(i); dec(j); end ; until i > j; if l < j then quickSort(l, j); if i < h then quickSort(i, h); end ; |
Leave a comment