SlideShare ist ein Scribd-Unternehmen logo
1 von 7
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.

Weitere ähnliche Inhalte

Mehr von yoanna_ioana

Mehr von yoanna_ioana (8)

Informatica
InformaticaInformatica
Informatica
 
Marele Canion
Marele CanionMarele Canion
Marele Canion
 
Presentation1
Presentation1Presentation1
Presentation1
 
Problema Rucsacului
Problema RucsaculuiProblema Rucsacului
Problema Rucsacului
 
Important
ImportantImportant
Important
 
Sortare Prin Metoda Bulelor1
Sortare Prin Metoda Bulelor1Sortare Prin Metoda Bulelor1
Sortare Prin Metoda Bulelor1
 
Presentation1
Presentation1Presentation1
Presentation1
 
Important
ImportantImportant
Important
 

Important

  • 1. Sortare prin metoda bulelor Pereni Octavian Cls a XI-a B
  • 2. 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ă.
  • 3. 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.
  • 4. N=7
  • 5. Implementare T = variabila de 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 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.