====== Buborékos rendezés ======
**Módszer lényege**:
Vektor végéről indulva minden elemet összehasonlítunk az előtte lévővel.
Ha rossz a sorrend, akkor csere. (Cs=cserehely)
Az első menet végére az első helyen a megfelelő elem áll.
Ezt az elvet folytatjuk egyre kevesebb elemmel. (N-1 menet)
Eljárás:
Ciklus I = 2-től N-ig
Ciklus J = N-től I-ig -1-esével
Ha A(J - 1) > A(J) akkor Cs := A(J - 1)
A(J - 1) := A(J)
A(J) := Cs
Ciklus vége
Ciklus vége
Eljárás vége.
DEMO
Hatékonysági mutatók
**Tárigény**: N+1 \\
**Összehasonlítások száma**: N*(N-1)/2 \\
**Mozgatások száma**: 0-tól 3*N*(N-1)/2-ig lehetséges \\
**Végrehajtási idő**: 3620 s (N=500)
Pascal forráskód
program rendezes_buborek_rendezessel;
const n = 10;
var a: array [1..n] of integer;
i, j, cs: integer;
begin
randomize;
//A tömb elkészítése
for i:=1 to n do
begin
a[i]:=random(55);
write(a[i], ' ');
end;
Writeln;
//Tömb rendezése buborékos rendezéssel
for i:=2 to n do
for j:=n downto i do
if a[j-1]>a[j] then
begin
cs:=a[j-1];
a[j-1]:=a[j];
a[j]:=cs;
end;
writeln('A rendezett tomb elemei: ');
for i:=1 to n do
write(a[i], ' ');
readln;
end.
[[https://ideone.com/KeMGQr | A forráskódjának futtatása online ]]
program kivalasztasos_rendezes;
const n=8;
var i,j, cs : integer;
a: array [1..n] of integer;
begin
writeln('Kerem a tomb elemeit: ');
for i:=1 to n do
begin
write('a[',i,'] = '); readln(a[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[j]
Órai gyakorlat
program buborekos_rendezes;
const n=8;
var i,j, cs : integer;
a: array [1..n] of integer;
begin
writeln('Kerem a tomb elemeit: ');
for i:=1 to n do
begin
write('a[',i,'] = '); readln(a[i]);
end;
for i:=2 to n do
for j:=n downto i do
if a[j-1]>a[j] then
begin
cs:=a[j-1];
a[j-1]:=a[j];
a[j]:=cs;
end;
write('A rendezett tomb elemei: ');
for i:=1 to n do
write(a[i]:3);
readln;
end.