Реализации алгоритмов/Сортировка/Быстрая: различия между версиями

(→‎C: оформление)
qs_0(Список, Первый, Последний);
КонецПроцедуры
</source></big>
== [[w:Turbo Basic|Turbo Basic 1.1]] ==
<big><source lang="qbasic">
DEF FN QSORT(LOW,HIGH)
LOCAL I,J,X,TEMP
I=LOW
J=HIGH
X=Y[(LOW+HIGH)/2]
DO
WHILE Y[I]<X:I=I+1:WEND
WHILE Y[J]>X:J=J-1:WEND
IF I<=J THEN
TEMP=Y[I]
Y[I]=Y[J]
Y[J]=TEMP
I=I+1
J=J-1
END IF
LOOP WHILE I<=J
IF LOW<J THEN F=FN QSORT(LOW,J)
IF I<HIGH THEN F=FN QSORT(I,HIGH)
FN QSORT=TRUE
END DEF
</source></big>
Пример вызова функции FN QSORT(LOW,HIGH), входные и выходные данные в массиве DIM Y[N1:N2]
<big><source lang="qbasic">
LOW=N1
HIGH=N2
F=FN QSORT(LOW,HIGH)
</source></big>
 
Анонимный участник