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ăspunsuri la întrebare
Răspuns de
0
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.
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Studii sociale,
8 ani în urmă
Matematică,
8 ani în urmă
Biologie,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă