Documente Academic
Documente Profesional
Documente Cultură
1.Informaţii generale:
Metoda de sortare BubbleSort porneşte de la o proprietate evidentă
a unui şir sortat: oricare două elemente alăturate respectă relaţia de
ordine. Astfel, dacă oricare pereche de elemente alăturate respectă
relaţia de ordine, atunci, conform tranzitivităţii relaţiei, întreg şirul va fi
ordonat. Cele două elemente consecutive ale şirului de sortat vor
forma “bulele” pe care se va verifica relaţia de ordine cerută. Este cea
mai simplă metodă de sortare şi nu necesită cunoaşterea detaliată a
limbajului de programare.
2.Prezentarea algoritmului:
Se parcurge vectorul de sortat şi se compară elementele
consecutive. Dacă acestea nu se află în ordinea dorită, se
interschimbă. Când se va ajunge la ultimul element al vectorului,
parcurgerea se reia şi se vor verifica din nou elementele vecine, cu
realizarea interschimbărilor acolo unde sunt necesare, până când, la o
ultimă parcurgere nu mai este necesară nici o interschimbare, prin
urmare, vectorul este ordonat.
Se va folosi o variabilă de tip logic, care va marca dacă la o
parcurgere se fac interschimbări (se iniţializează la începutul
parcurgerii, iar dacă se face măcar o interschimbare, i se va schimba
valoarea). Algoritmul se opreşte atunci când această variabilă îşi
păstrează valoarea primită la începutul parcurgerii (nu au mai fost
necesare interschimbări).
Exemplu : şirul iniţial este {5, 8, 4, 7, 6}
i x[1] x[2] x[3] x[4] x[5]
x[1],x[2] 5 8 4 7 6
Compar 5 cu 8: ordinea e cea dorită
x[2],x[3] 5 8 4 7 6
Compar 8 cu 4: ordinea nu e cea dorită ;
se interschimbă
x[3],x[4] 5 4 8 7 6
Compar 8 cu 7: ordinea nu e cea dorită ;
se interschimbă
x[4],x[5] 5 4 7 8 6
Compar 8 cu 6: ordinea nu e cea dorită ;
se interschimbă ; se reia parcurgerea
x[1],x[2] 5 4 7 6 8
Compar 5 cu 4: ordinea nu e cea dorită ;
se interschimbă ;
x[2],x[3] 4 5 7 6 8
x[3],x[4] 4 5 7 6 8
x[4],x[5] 4 5 6 7 8
La următoarea parcurgere, nu se mai
realizează interschimbări