Laborator2 Utilizarea Tehnicilor de Sortare A Datelor. Algoritmi de Sortare Internă"
Laborator2 Utilizarea Tehnicilor de Sortare A Datelor. Algoritmi de Sortare Internă"
Algoritmi de sortare
internă”.
Sarcina: (Obligatoriu)
1. Se consideră un vector de maxim 20 elemente de tip întreg. Numărul de elemente N și valorile lor se citesc de la terminal. Elaborați un program pentru
sortarea ascendentă a acestui masiv liniar utilizând metodele:
a) sortare prin simplă înserare (Straight insertion);
b) sortare prin simplă selectare (Straight selection);
c) sortare prin simplu schimb (Buble sort);
d) sortare de tipul Shaker. (Shakersort)
în limbajele C++, Java.
int arr[n];
for(i = 0; i < n; i++)
{
cout<<"Enter element "<<i+1<<": ";
cin>>arr[i];
}
ShakerSort(arr, n);
cout<<"\nSorted Data ";
for (i = 0; i < n; i++)
cout<<"->"<<arr[i];
return 0;
}
Algoritm de sortare:
Algoritmi de sortare Operaţia de ordonare a unor articole în funcţie de diverse criterii este
foarte des întâlnită în practică. Se cunosc o mulţime de algoritmi de sortare, majoritatea fiind
foarte simpli. În continuare vom încerca să prezintem unele dintre cele mai cunoscute metode de
sortare.
Metodele de sortare cele mai des folosite pot fi clasificate în două categorii: metode
directe şi metode avansate.
Metodele directe se bazează pe algoritmi de dificultate redusă, uşor de găsit şi de înţeles.
Metodele directe pe care le vom lua în considerare sunt sortarea prin selecţie (SelectSort),
sortarea prin inserţie (InsertSort) şi sortarea cu bule (BubbleSort). Metodele avansate se bazează
pe algoritmi puţin mai complicaţi, dar care nu necesită cunoştinţe avansate de algoritmică.
Câteva din cele mai cunoscute sunt sortarea rapidă (QuickSort), sortarea prin interclasare
(MergeSort) şi sortarea cu ansamble (HeapSort).
Orice programator trebuie să cunoască metodele de sortare şi să aleagă folosirea unei
metode, în funcţie de criteriul de eficienţă urmărit. Eficienţa metodelor de sortare, după cum am
precizat mai sus pentru algoritmi în general, se măsoară după tipul de execuţie şi memoria
folosită.