Рекурсия в сортировке простым выбором? Вот это поворот. Ну да ладно. Как-то так, например:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | procedure SelectionSort(A: mass; n: integer ; i: integer );
var
min, t: integer ;
begin
t:=A[i];
min:=i;
for j:=i+ 1 to n do
if (A[min]>A[j]) then
min:=j;
if (min<>i) then
begin
A[i]:=A[min];
A[min]:=t;
end ;
if i < n then
SelectionSort(a, n, i + 1 );
end ;
|
А главную процедуру можно сократить.
Код:
1 2 3 4 | vvodposl(a,n);
vivodposl(a,n, true );
SelectionSort(A,n, 1 );
vivodposl(a,n, false );
|
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Последний раз редактировалось Bargest, 19.12.2015 в 23:47.
|