Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static boolean less(ITEM item1, ITEM item2) {
- return item1.less(item2);
- }
- private static void exchange(ITEM[] array, int i1, int i2) {
- ITEM temp = array[i2];
- array[i2] = array[i1];
- array[i1] = temp;
- }
- private static void compareExchange(ITEM[] array, int i1, int i2) {
- if (less(array[i2], array[i1])) {
- exchange(array, i1, i2);
- }
- }
- public static void insertionSort(ITEM[] array, int left, int right) {
- int i;
- for (i = right; i > left; i--) {
- compareExchange(array, i - 1, i);
- }
- for (i = left + 2; i <= right; i++) {
- int j = i;
- ITEM value = array[i];
- while (less(value, array[j - 1])) {
- array[j] = array[j - 1];
- j--;
- }
- array[j] = value;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement