Я пытался реализовать функцию сортировки вставкой, но у нее странное поведение. Проблема возникает, когда я пытаюсь использовать только [0,1000], и она преобразует все числа в моем массиве в [0,9]. Если я увеличу числа выше 1000, это будет прекрасно работать, но все, что ниже, просто победит. Есть идеи почему?
public static void insertSort(int[] array) {
for (int a : array) {
System.out.print(array[a] + " ");
}
int length = array.length;
for (int i = 1; i < length; i++) {
int key = array[i];
int j = (i - 1);
while (j > -1 && array[j] > key) {
array[j + 1] = array[j];
j--;
}
array[j + 1] = key;
}
for(int b:array) {
System.out.print(array[b] + " ");
}
}
createdArray = new int[100000];
for (int i = 0; i < 100000; i++) {
double x = (Math.random() * 1000); // if i increase to *10000, it works fine
createdArray[i] = (int) x;}