program Sort_Obmen1;
var A:array[1..100] of integer;
N,i,k,x : integer;
begin
write('жиым элементтерінің саны');
read(N);
for i:=1 to n do read(A[i]);
for k:=n-1 downto 1 do { k – салыстырылатын қос элементтер саны}
for i:=1 to k do
if A[i]>A[i+1] then
{Көршілес элементтерді орындарымен алмастырамыз}
begin x:=A[i]; A[i]:=A[i+1]; A[i+1]:=x; end;
for i:=1 to n do write(A[i],' '); {реттелген жиым}
end.
Алмастырып сұрыптау алгоритмінде, егер циклдың бір айналымында бірде бір алмастырылу орындалмаса, онда жиым реттелген. Сондықтан программаны циклдың келесі айналымы, алдыңғы айналымда алмастырулар болған кезде ғана орындалатын етіп түрлендіреміз.
Мысал: Алмастырудың болғандығын тексеру арқылы алмастырып сұрыптау.
Достарыңызбен бөлісу: |