public class InsertionSortExample
{
public static void main(String[] args)
{
//This is unsorted array
Integer[] array = new Integer[] {12,13,24,10,3,6,90,70};
//Let's sort using insertion sort
insertionSort(array, 0, array.length);
//Verify sorted array
System.out.println(Arrays.toString(array));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void insertionSort(Object[] a, int fromIndex, int toIndex)
{
Object d;
for (int i = fromIndex + 1; i < toIndex; i++)
{
d = a[i];
int j = i;
while (j > fromIndex && ((Comparable) a[j - 1]).compareTo(d) > 0)
{
a[j] = a[j - 1];
j--;
}
a[j] = d;
}
}
}
//Output: [3, 6, 10, 12, 13, 24, 70, 90]