Алгоритм сортировки работает не правильно
Вот код:
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]);
}
}
}