Есть массив
let attempts = [120, 150, 160, 201, 203, 180, 202];
Есть вот такой код сортировки:
for (let i = 0; i < attempts.length - 1; i++) {
for (let j = i + 1; j < attempts.length; j++) {
if (attempts[i] < attempts[j]) {
let swap = attempts[i];
attempts[i] = attempts[j];
attempts[j] = swap;
}
}
}
и вот такой код сортировки:
for (let i = 0; i < attempts.length - 1; i++) {
for (let j = 1; j < attempts.length; j++) {
if (attempts[i] < attempts[j]) {
let swap = attempts[i];
attempts[i] = attempts[j];
attempts[j] = swap;
}
}
}
Отличие одно: в первом случае написано
let j = i + 1
, а во втором
let j = 1
Почему первый код сортирует правильно, а второй — нет? Кажется, что в обоих случаях значения j должны быть
1, 2, 3, 4, 5...