/ * Это приглашение:
начинается с несортированного массива a
вывод: отсортированный массив a.
Найдите наименьший элемент в массиве a [1: n], назовите это [j].Поменяйте его местами с [0], если он меньше, чем [0].Повторите этот процесс с индексами 1, 2, ..., пока не будет отсортирован массив who.* /
public class assing2 {
public static void main(String args[])
{
//array of ints
int[] A = new int[] {33, 20, 8, 11, 5};
int min_id = 0;
int temp_i = 0;
//int temp_max = 0;
for (int i = 0; i < A.length; i++)
{
min_id = i;
temp_i = A[i];
for (int j = 1; j < A.length; j++)
{
if (A[min_id] > A[j])
{
min_id = j;
}
}
A[i] = A[min_id];
A[min_id] = temp_i;
}
System.out.println("Sorted array");
for ( int i = 0; i < A.length; i++)
{
System.out.println(A[i]);
}
}
}
Это вывод
Сортированный массив
5
20
11
33
8
Когда я запускаю его в отладчике, я вижу, что первые 2 итерации первого цикла for выглядят так, как будто он работает, но после этого он не отсортировал то, что было отсортировано.
Что не так с моей логикой?