Напишите программу, которая выполняет неполную сортировку массива: ставит в начало
массива три самых меньших по величине элемента в порядке возрастания (неубывания).
Положение остальных элементов не важно.
2) Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма быстрой сортировки. Проверьте ее на разных массивах, содержащих 1000 случайных элементов, вычислите среднее число перестановок для каждого метода.
3)Попробуйте построить массив из 10 элементов, на котором алгоритм быстрой сортировки показывает худшую эффективность (наибольшее число перестановок). Сравните это количество перестановок с эффективностью метода пузырька (для того же массива)
В 1 надо только одним сортировки и не используя быструю сортировку.
В 2 и 3 надо, чтобы были использованы несколько сортировки, включая быструю сортировку.
procedure push(var ar:ty); var i,c:integer; begin c:=ar[n]; for i:=n downto 2 do ar[i]:=ar[i-1]; ar[1]:=c; end;
begin randomize; writeln('Enter K:'); readln(k); writeln('First array:'); for i:=1 to n do begin; ar[i]:=random(10); write(ar[i]:4); end; for i:=1 to k do push(ar); writeln; writeln('Final array:'); for i:=1 to n do write(ar[i]:4); end. 2)var a,i,b,r,n:integer; s,se:string;
procedure preob(var a,b,n:integer; var se:string); begin repeat b:=a mod n; a:=a div n; str(b,se); s+=se; until (a<=n-1); end;
begin readln(a); readln(n); preob(a,b,n,se); str(a,se); s+=se; for i:=1 to length(s) div 2 do begin; se:=s[i]; s[i]:=s[length(s)-i+1]; s[length(s)-i+1]:=se[1]; end; val(s,r,a); write(r); end.
Напишите программу, которая выполняет неполную сортировку массива: ставит в начало
массива три самых меньших по величине элемента в порядке возрастания (неубывания).
Положение остальных элементов не важно.
2) Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма быстрой сортировки. Проверьте ее на разных массивах, содержащих 1000 случайных элементов, вычислите среднее число перестановок для каждого метода.
3)Попробуйте построить массив из 10 элементов, на котором алгоритм быстрой сортировки показывает худшую эффективность (наибольшее число перестановок). Сравните это количество перестановок с эффективностью метода пузырька (для того же массива)
В 1 надо только одним сортировки и не используя быструю сортировку.
В 2 и 3 надо, чтобы были использованы несколько сортировки, включая быструю сортировку.
Объяснение:
ну вроде так
Const
n=10;
type
ty=array[1..n] of integer;
var
ar:ty;
i,k:integer;
procedure push(var ar:ty);
var
i,c:integer;
begin
c:=ar[n];
for i:=n downto 2 do
ar[i]:=ar[i-1];
ar[1]:=c;
end;
begin
randomize;
writeln('Enter K:');
readln(k);
writeln('First array:');
for i:=1 to n do
begin;
ar[i]:=random(10);
write(ar[i]:4);
end;
for i:=1 to k do
push(ar);
writeln;
writeln('Final array:');
for i:=1 to n do
write(ar[i]:4);
end.
2)var
a,i,b,r,n:integer;
s,se:string;
procedure preob(var a,b,n:integer; var se:string);
begin
repeat
b:=a mod n;
a:=a div n;
str(b,se);
s+=se;
until (a<=n-1);
end;
begin
readln(a);
readln(n);
preob(a,b,n,se);
str(a,se);
s+=se;
for i:=1 to length(s) div 2 do
begin;
se:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=se[1];
end;
val(s,r,a);
write(r);
end.