Sortare prin metoda bulelor
Pereni Octavian
Cls a XI-a B
Enunţul problemei
Să se ordoneze descrescător folosind în mod
eficient metoda bulelor un şir de n
numere. Eficienţa acestei probleme constă
în faptul că de fiecare dată când se
parcurgerea nu se realizează până la
capăt, deoarece pe poziţia considerată
ultima se află valoarea minimă.
Algoritmul
Pasul 1: Se iniţializează cu valoarea 1 variabila ce ne
asigură eficienţa. (t)
Pasul 2: Se iniţializează o variabilă booleană cu valoarea
true, prin aceasta specificându-se dacă şirul de numere
este sortat.
Pasul 3: Se iau 2 câte 2 elemente din şir, şi se sortează, iar
valoarea variabilei booleane se va schimba.
Pasul 4: Se incrementează variabila de eficienţă.
Pasul 5: Se repetă algoritmul începând cu pasul 2, până
cand şirul este ordonat descrescător.
N=7
Implementare
T = variabila de eficienţă
N = numărul de elemente ce vor fi sortate
V = şirul de numere
Program bubble_sort;
Type vector=array[1..100] of real;
Var n,i,t:integer;
v:vector;
aux:boolean;
ok:boolean;
Procedure sort_bule(var a:vector;n:integer);
Begin
t:=1;
Repeat
ok:=true;
for i:=1 to n-t do
if a[i]<a[i+1] then begin
ok:=false;
aux:=a[i];
a[i]:=a[i+1];
a[i+1]:=aux;
Until ok;
End;
BEGIN
write(‘n=’);readln(n);
for i:=1 to n do begin
write(‘v[‘,i,]=’);readln(v[i]);
end;
sort_bule(v,n);
for i:=1 to n do write(v[i]:5:2);
readln;
END.

Important

  • 1.
    Sortare prin metodabulelor Pereni Octavian Cls a XI-a B
  • 2.
    Enunţul problemei Să seordoneze descrescător folosind în mod eficient metoda bulelor un şir de n numere. Eficienţa acestei probleme constă în faptul că de fiecare dată când se parcurgerea nu se realizează până la capăt, deoarece pe poziţia considerată ultima se află valoarea minimă.
  • 3.
    Algoritmul Pasul 1: Seiniţializează cu valoarea 1 variabila ce ne asigură eficienţa. (t) Pasul 2: Se iniţializează o variabilă booleană cu valoarea true, prin aceasta specificându-se dacă şirul de numere este sortat. Pasul 3: Se iau 2 câte 2 elemente din şir, şi se sortează, iar valoarea variabilei booleane se va schimba. Pasul 4: Se incrementează variabila de eficienţă. Pasul 5: Se repetă algoritmul începând cu pasul 2, până cand şirul este ordonat descrescător.
  • 4.
  • 5.
    Implementare T = variabilade eficienţă N = numărul de elemente ce vor fi sortate V = şirul de numere
  • 6.
    Program bubble_sort; Type vector=array[1..100]of real; Var n,i,t:integer; v:vector; aux:boolean; ok:boolean; Procedure sort_bule(var a:vector;n:integer); Begin t:=1; Repeat ok:=true; for i:=1 to n-t do if a[i]<a[i+1] then begin ok:=false; aux:=a[i]; a[i]:=a[i+1]; a[i+1]:=aux; Until ok; End;
  • 7.
    BEGIN write(‘n=’);readln(n); for i:=1 ton do begin write(‘v[‘,i,]=’);readln(v[i]); end; sort_bule(v,n); for i:=1 to n do write(v[i]:5:2); readln; END.