Алгоритм сортировки работает не правильно

Вот код:

package Arrays;


public class Sort {
    public static void main(String[] args){
        int array[]={9,10,4,7,6,1,5,8,2,3};
        int temp;
    
        for (int i=0;i<array.length;i++){
          for(int j=1;j<=i;j++){ 
              if (array[i] < array[j]){
                temp = array[i];
                array[i] = array[j];
                array[j] = temp;
              } 
          }
        }
        for(int i=0;i<array.length;i++){
            System.out.println(array[i]);
        }
    }
}

И это он выводит: 9 1 2 3 4 5 6 7 8 10

Цифра 9 игнорируется. Как решить проблему?


Ответы (2 шт):

Автор решения: Syorito Hatsuki

Зачем велосипеды делать?

int [] array = new int [] {9,10,4,7,6,1,5,8,2,3};  

Arrays.sort(array);   

System.out.println("Отсортировано: ");  

for (int i = 0; i < array.length; i++)   
{
  System.out.println(array[i]);   
}
→ Ссылка
Автор решения: fox

Во внутреннем цикле for, нужно изменить в блоке инициализации счётчика значение переменной int j на 0, а у вас стоит 1.

package Arrays;

public class Sort {

    public static void main(String[] args) {
        int array[] = {9, 10, 4, 7, 6, 1, 5, 8, 2, 3};
        int temp;

        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j <= i; j++) {
                if (array[i] < array[j]) {
                    temp = array[i];
                    array[i] = array[j];
                    array[j] = temp;
                }
            }
        }
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }
}
→ Ссылка