L’algoritmo di ordinamento InsertSort (ordinamento diretto) nasce dal concetto che per ordinare un array ordinato è sufficiente costruirne uno nuovo ordinato, inserendo gli elementi al posto giusto da subito. Nella pratica, non è necessario crearne uno nuovo ma dividere quello esistente in due parti, una ordinata e l’altra no.
Esempio:
Vogliamo ordinare l’insieme A = {5, 3, 2, 1, 4}.
Iterazione 1. A = {5 | 2, 3, 1, 4} → A = {2, 5 | 3, 1, 4}
Iterazione 2. A = {2, 5 | 3, 1, 4} → A = {2,3, 5 | 1, 4}
Iterazione 3. A = {2, 3, 5 | 1, 4} → A = {1, 2, 3, 5 | 4}
Iterazione 4. A = {1, 2, 3, 5 | 4} → A = {1, 2, 3,4, 5}
Codificando l’Insert Sort abbiamo:
Leggi tutto “Insert Sort”