Limbajele de programare moderne au librarii extinse care implementează diversi algoritmi de sortare, căutare, calcule matematice, fiind ușor de folosit. Dar un programator la început de drum poate învața cum funcționează limbajul analizând cum sunt implementați unii algoritmi.
🧼 Cum functioneazã „Bubble Sort”?
Gândește-te că ai mai multe bile colorate cu numere scrise pe ele:
👉 4, 6, 5, 1, 3, 2
Le pui într-un rând și vrei să le așezi în ordine de la cel mai mic la cel mai mare.
🫧 Cum funcționează?
- Te uiți la primele două bile.
Dacă prima e mai mare decât a doua, le schimbi locul.
(Așa cum ai pune o bilă mai mare mai în spate.) - Treci mai departe la următoarea pereche.
Compari bilele 2 și 3, apoi 3 și 4, și tot așa.
De fiecare dată, cea mai mare bilă „urcă” spre capătul rândului,
la fel cum o bulă de aer urcă la suprafața apei — de aici și numele „Bubble Sort”! - Când ai ajuns la finalul rândului, cea mai mare bilă e deja la locul ei.
Acum reiei pașii pentru restul bilelor, dar fără ultima — că e deja sortată. - Repeti până toate bilele sunt în ordine. 🎯
Iata o implementare a algoritmului Bubble Sort în limbajul C:
#include <stdio.h>
int main() {
int n, i, j, temp;
int arr[100]; // presupunem maxim 100 de numere
printf("Cate numere doresti sa introduci? ");
scanf("%d", &n);
printf("Introdu cele %d numere:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// sortare prin metoda bulelor (Bubble Sort)
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("Numerele sortate crescator sunt:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
Si o reprezentare vizuală aici:




https://youtube.com/shorts/y2AghjB4Wxs?si=wN8VIaiCOIUtSmzg
RăspundețiȘtergere