Salut,cum sortez crescator sau descrescator niste numere intregi in c++?N-am problema cu numerele naturale,dar daca am intr un vector numere cu + dar si cu -?Zicem de exemplu: -2 4 -8 11 9 -5.Care este algorimtul ca s-a sortez crescator?

Răspuns :

Salut !

Sunt mai multe metode de sortare.

Printre acestea se enumera :

- Bubble sort

- Insertion Sort

- Selection Sort

- Quick sort

- Merge sort

Prima metoda studiata este de regula bubble sort.

Uite algoritmul :

int ok=1

while(ok){

ok = 0;

for(i=1;i<n;i++) if(v[i] > v[i+1]){

swap (v[i],v[i+1]);

ok=1;

}

}

Explicatie :

Cat timp vectorul e nesortat se ia la rand fiecare element si e comparat cu cel de dupa el. Daca ordinea nu e cea dorita se schimba elementele intre ele ( swap() ) si se declara vectrul ca fiind nesortat. La fiecare iteratie se presupune initial ca vectorul e sortat, pana la proba contrarie.

Ceilalti algoritmi ii gasesti pe internet unii sunt destul de complicati.

La inceput recomandati sunt bubble sort, insertion sort si selection sort.