class MeteredInsertionSorter<T extends Comparable<T>> extends MeteredSorter<T> { public void maneuver(T[] seq, int from, int to) { final int step = from < to ? 1 : -1; final int stop = to + step; int i, jCurr, jPrev; T key; for (i = from + step; i != stop; i += step) { tick(); key = seq[i]; for (jCurr = i; jCurr != from; jCurr = jPrev) { tick(); jPrev = jCurr - step; if (key.compareTo(seq[jPrev]) >= 0) { break; } seq[jCurr] = seq[jPrev]; } seq[jCurr] = key; } return; } }
index | -1 | 0 | 1 | 2 | 3 | 4 | 5 |
seq | |||||||
from | |||||||
to | |||||||
stop | |||||||
i | |||||||
jCurr | |||||||
jPrev |
key |
---|
step |
---|
meter | 0 |