import java.util.Arrays; public class InsertionSort { public static > void sort(T[] arr) { int n = arr.length; System.out.println( Arrays.toString( arr ) ); for (int i = 1; i < n; i++) // Repeat n-1 times { // Compare arr[i] with eacg prior element for ( int j = i; j > 0; j-- ) { if ( arr[j-1].compareTo(arr[j]) > 0 ) // If out of place exch( arr, j-1, j); // Swap list[j-1] and list[j] else break; // STOP } System.out.println( Arrays.toString( arr ) ); } } private static > void exch( T[] a, int i, int j ) { T help; help = a[i]; a[i] = a[j]; a[j] = help; } }