В настоящее время я работаю над проектом, в котором я реализую различные типы методов сортировки для сортировки массива. Я получил эту реализацию из моего класса, но по какой-то причине она не работает. Я не уверен, где все идет не так, и любая помощь будет принята с благодарностью.
public static void selectionSort(int[] a) {
int n = a.length;
System.out.println(n);
for (int i = 0; i < n - 1; i++) {
int min = i;
for (int j = i + 1; j < n; j++) {
if (a[j] < a[min]) {
int swap = a[i];
a[i] = a[min];
a[min] = swap;
}
}
}
}
Алгоритм: находит минимальное значение в списке. Меняет местами значение в первой позиции. Повторите шаги выше для остальной части списка (начиная со второй позиции и продвигаясь каждый раз). Он делит список на две части. Список товаров уже отсортирован. Подсписок элементов, оставшихся для сортировки.
ввод
int[] a = new int[]{-2, 4, 8, 1, 9, -6};
ожидаемый результат
-6, -2, 1, 4, 8, 9