static void halfSort(final int[] a) {
for (int i = 0; i < a.length / 2; i++) {
var lowestIndex = -1;
var lowestValue = -1;
for (int j = i; j < a.length; j++) {
if(lowestIndex == -1 || a[j] < a[lowestIndex]) {
lowestIndex = j;
lowestValue = a[j];
}
}
System.arraycopy(a, i, a, i+1, lowestIndex-i);
a[i] = lowestValue;
}
}
Comments