Напишите программу, которая выполняет неполную сортировку массива: ставит в начало
массива три самых меньших по величине элемента в порядке возрастания (неубывания).
Положение остальных элементов не важно.
2) Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма быстрой сортировки. Проверьте ее на разных массивах, содержащих 1000 случайных элементов, вычислите среднее число перестановок для каждого метода.
3)Попробуйте построить массив из 10 элементов, на котором алгоритм быстрой сортировки показывает худшую эффективность (наибольшее число перестановок). Сравните это количество перестановок с эффективностью метода пузырька (для того же массива)
В 1 надо только одним сортировки и не используя быструю сортировку.
В 2 и 3 надо, чтобы были использованы несколько сортировки, включая быструю сортировку.
Const N = 13; Var A,B:array[1..N] of integer; i:integer; S1,S2:real; Begin Randomize; S1:=0; S2:=0; Write('A('); For i:= 1 to N-1 do Begin A[i]:=random(201)-100; Write(A[i],',') End; A[N]:=random(201)-100; Write(A[N],')'); WriteLn;
Write('B('); For i:= 1 to N-1 do Begin B[i]:=random(201)-100; Write(B[i],',') End; B[N]:=random(201)-100; Write(B[N],')'); WriteLn; WriteLn; Write('|A| = '); For i:= 1 to N do Begin S1:=S1+A[i]*A[i]; End; S1:=Sqrt(S1); WriteLn(S1); Write('|B| = '); For i:= 1 to N do Begin S2:=S2+B[i]*B[i]; End; S2:=Sqrt(S2); WriteLn(S2); WriteLn; Write('Ближайшая точка: '); if S1 < S2 then WriteLn('A') else WriteLn('B') End.
Напишите программу, которая выполняет неполную сортировку массива: ставит в начало
массива три самых меньших по величине элемента в порядке возрастания (неубывания).
Положение остальных элементов не важно.
2) Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма быстрой сортировки. Проверьте ее на разных массивах, содержащих 1000 случайных элементов, вычислите среднее число перестановок для каждого метода.
3)Попробуйте построить массив из 10 элементов, на котором алгоритм быстрой сортировки показывает худшую эффективность (наибольшее число перестановок). Сравните это количество перестановок с эффективностью метода пузырька (для того же массива)
В 1 надо только одним сортировки и не используя быструю сортировку.
В 2 и 3 надо, чтобы были использованы несколько сортировки, включая быструю сортировку.
Объяснение:
ну вроде так
N = 13;
Var
A,B:array[1..N] of integer;
i:integer;
S1,S2:real;
Begin
Randomize;
S1:=0;
S2:=0;
Write('A(');
For i:= 1 to N-1 do
Begin
A[i]:=random(201)-100;
Write(A[i],',')
End;
A[N]:=random(201)-100;
Write(A[N],')');
WriteLn;
Write('B(');
For i:= 1 to N-1 do
Begin
B[i]:=random(201)-100;
Write(B[i],',')
End;
B[N]:=random(201)-100;
Write(B[N],')');
WriteLn;
WriteLn;
Write('|A| = ');
For i:= 1 to N do
Begin
S1:=S1+A[i]*A[i];
End;
S1:=Sqrt(S1);
WriteLn(S1);
Write('|B| = ');
For i:= 1 to N do
Begin
S2:=S2+B[i]*B[i];
End;
S2:=Sqrt(S2);
WriteLn(S2);
WriteLn;
Write('Ближайшая точка: ');
if S1 < S2 then WriteLn('A')
else WriteLn('B')
End.