Sortarea tablourilor



Metoda bulelor(Bubble Sort)

Metoda bulelor compară perechi de elemente adiacente și le schimbă între ele dacă sunt în ordine greșită. Acest proces se repetă până când vectorul este sortat.


Algoritm:

  1. Compară fiecare pereche de elemente adiacente
  2. Dacă sunt în ordine greșită, schimbă-le între ele
  3. Repetă pașii 1 și 2 pentru fiecare element până când vectorul este sortat

Exemplu:

int n, v[100];
//citire v[] cu n elemente
bool sortat;
int m = n;
do
{
    sortat = true;
    int p = m;
    for(int i = 0 ; i < p - 1 ; i ++)
    if(v[i] > v[i+1])
    {
         int aux = v[i];
         v[i] = v[i+1];
         v[i+1] = aux;
         sortat = false;
         m = i + 1;
    }
}
while(!sortat);


Sortarea prin selecție(Selection Sort)

Sortarea prin selecție găsește cel mai mic element din vector și îl plasează la început. Apoi, repetă acest proces pentru restul vectorului.


Algoritm:

  1. Găsește cel mai mic element din vector și schimbă-l cu primul element
  2. Găsește cel mai mic element din vectorul rămas și schimbă-l cu al doilea element
  3. Repetă pașii 1 și 2 pentru fiecare element până când vectorul este sortat

Exemplu:

int n, X[100];
//citire X[] cu n elemente
for(int i = 0 ; i < n - 1 ; i ++)
    for(int j = i + 1 ; j < n ; j ++)
        if(X[i] > X[j])
        {
             int aux = X[i];
             X[i] = X[j];
             X[j] = aux;
        }


Sortarea prin inserție(Insertion Sort)

Sortarea prin inserție construiește vectorul sortat element cu element, inserând fiecare element în poziția sa corectă.


Algoritm:

  1. Pornește cu al doilea element și compară-l cu elementele din fața sa
  2. Mută elementele mai mari cu o poziție în față pentru a face loc pentru elementul curent
  3. Inserează elementul curent în poziția corectă
  4. Repetă pașii 1-3 pentru fiecare element până când vectorul este sortat

Exemplu:

for(int i = 1 ; i < n ; i ++)
{
    int p = i;
    while(p > 0 && a[p] < a[p-1])
    {
        int aux = a[p];
        a[p] = a[p-1];
        a[p-1] = aux;
        p --;
    }
}


Color Contrast

Text Size

Text Spacing

Reading Aids


În această secțiune poți genera un rezumat al conținutului paginii folosind AI! Fii liber să folosești butonul de mai jos oricând ești pe grabă și nu ai timp să înveți tot!


Summary

În această secțiune poți întreba expertul nostru robot orice legat de nelămuririle pe care le-ai întâlnit de-a lungul lecțiilor! Fii liber să folosești butonul de mai jos oricând ai nevoie de explicații adiționale!


Chatbot