👤
Maryg990
a fost răspuns

Descrieti un algoritm de rezolvare pentru umatoarea problema:
Este dat un sir din cel mult 100 de numere intregi. Se cere sa se aranjeze elementele sirului in ordine crescatoare.


Răspuns :

Algoritm de sortare prin comparare:
ex for(int i=1;i<n;i++)
        for(int j=i+1;j<=n;j++)
           if(a[i]>a[j])
           {
             int aux=a[i];
             a[i]=a[j];
             a[j]=aux;
           }
complexitatea acestui algoritm este de O(n*n) adica O(n patrat)
Explicatii:
compara elementul de pe pozitia i cu elementele de pe pozitiile i+1->n,daca elementul de pe pozitia i (a[i]) > elementul de pe pozitia j,atunci are loc interschimbarea valorilor.
Exemplu practic:
n=4
5 3 0 1
Pas 1(i=1):
5 3 0 1 => 3 5 0 1=> 0 5 3 1
Pas 2(i=2),elementul de pe pozitiile (i-1->0 sunt sortate corect,avem de sortat doar de la i la n)
0 5 3 1=> 0 3 5 1=> 0 1 5 3
pas 3 (i=3)
0 1 5 3 => 0 1 3 5
Sper ca ti-am fost de folos!