В настоящее время я работаю над проектом, в котором реализую различные типы методов сортировки для сортировки массива. Я получил эту реализацию из своего класса, но по какой-то причине она не работает. Я не уверен, где все идет не так, и любая помощь будет принята с благодарностью.
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
int min = i;
, а затемa[i] = a[min];
- что он делает? - person PM 77-1   schedule 10.05.2019