====== 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.