luni, 18 noiembrie 2013

Ordonarea grupurilor de date

Ordonarea sau sortarea se face prin schimbarea(interschimbare) pozitiei elementelor din grup, astfel incat toate elementele sa respecte un criteriu specificat numit criteriu de sortare.
1 Algoritmul de sortare prin interschimbari directe
pasul1 Se compara primul element (pivot) h1 cu elementele situate in dreapta sa.Daca  h1 >hj(j=2,n) atunci cele 2 elemente se interschimba..Dupa a cest sir de n-1 comparatii pe prima pozitie a tabloului se va afla valaoarea minima din sir.
pasul2 se compara al doilea element (pivot) h2 cu elementele  din dreapata sa....n-2 comparatii.
.........................................................................................................................................................
pasul n-1 se compara penultimul pivot hn-1 cu ultimul element hn.daca Hn-1>hn atunci cele 2 elemente se interschimba.
Dupa  acest pas sirul este ordonat crescator.

algoritm ordonare
 pentru i=1,n-1 executa
  pentru j=i+1,n executa
    daca hi>hj atunci
            aux=hj
            hi=hj
            hj=aux
     sfarsit daca
   sfarsit pentru
 sfarsit pentru
sfarsit algoritm sortare

2 Algoritmul de sortare prin metoda bulelor Bubble-sort
Se sorteaza un tablou h cu n elemente si o variabila s cu rol de semafor(cu valoarea 0 cand tabloul nu e ordonat si valoarea 1 cand tabloul este ordonat)
Pasul 1 Variabila semafor se initializeaza cu valoarea 0
Pasul 2 Se compara doua elemente consecutive in sir(h1 cu h2;h2 cu h3;..hn-1 cu hn) pana cand se parcurge tot tabloul.Daca hi>hi+1 atunci cele doua elemente se interschimba si semaforul s devine 1.
Pasul3Se reia de la pasul 1 si 2.
valorile mici(bulele sunt impinse in fata).

Algoritm bubble-sort
repeta
 semafor=0
  pentru i=1,n-1 executa
   daca hi>hj+1 atunci
               aux=hi
               hi=hj
               hj=aux
               semafor=1
    sfarsit daca
  sfarsit pentru
 pana cand(semafor=0)
sfarsit algoritm bubble -sort