//******************************************************************** // Sorts.java Author: Lewis and Loftus // // Algoritmi di ordinamento di interi per selezione e inserzione, // e un ordinamento per inserzione di array di oggetti. //******************************************************************** public class Sorts { //----------------------------------------------------------------- // Ordina l'array specificato mediante l'algoritmo di ordinamento // per selezione. //----------------------------------------------------------------- public static void selectionSort (int[] numbers) { int min, temp; for (int index = 0; index < numbers.length-1; index++) { min = index; for (int scan = index+1; scan < numbers.length; scan++) if (numbers[scan] < numbers[min]) min = scan; // Scambia i valori tra la posizione corrente e quella in cui c'e' il min temp = numbers[min]; numbers[min] = numbers[index]; numbers[index] = temp; } } //----------------------------------------------------------------- // Ordina l'array specificato mediante l'algoritmo di ordinamento // per inserzione. //----------------------------------------------------------------- public static void insertionSort (int[] numbers) { for (int index = 1; index < numbers.length; index++) { int key = numbers[index]; int position = index; // slitta i valori pił grandi sulla destra while (position > 0 && numbers[position-1] > key) { numbers[position] = numbers[position-1]; position--; } numbers[position] = key; } } //----------------------------------------------------------------- // Ordina l'array specificato mediante l'algoritmo di ordinamento // per inserzione. //----------------------------------------------------------------- public static void insertionSort (Comparable[] objects) { for (int index = 1; index < objects.length; index++) { Comparable key = objects[index]; int position = index; // slitta i valori pił grandi sulla destra while (position > 0 && objects[position-1].compareTo(key) > 0) { objects[position] = objects[position-1]; position--; } objects[position] = key; } } }