public static void sort(int[] array) {
for (int i = array.length-1; i>=0 ; i--)
{
for (int i1 = i-1; i1 >= 0; i1--)
{
int q0 = array[i];
int q1 = array[i1];
if (q1 < q0) { array[i] = q1; array[i1]= q0 ;}
}
почему как только я внес строчку int q0 = array[i]; из 1 цикла во второй. валидатор принял решение
chepaksov
16 уровень
дурдом
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
IceBergMaster
9 июля 2019, 17:07
А в чём дурдом? Один вариант сортирует корректно, другой - нет.
0
chepaksov
9 июля 2019, 18:08
int q0 = array[i]; я перенес строку в 1 цикл и если думать логично то ничего не должно не изменится. или я не прав. весь мозг себе сломал. пока методом тыка не попробывал. а почему не корректно сортирует?
0
IceBergMaster
9 июля 2019, 18:15
Ещё как изменится, в одном варианте переменная обновляется на каждой итерации внутреннего цикла, во втором - внешнего.
0
chepaksov
9 июля 2019, 18:21
всё спасибо. до меня дошло
0
chepaksov
9 июля 2019, 12:28
то ест было вот так
public static void sort(int[] array) {
for (int i = array.length-1; i>=0 ; i--)
{ int q0 = array[i];
for (int i1 = i-1; i1 >= 0; i1--)
{
int q1 = array[i1];
if (q1 < q0) { array[i] = q1; array[i1]= q0 ;}
}
0