Другие языки программирования и технологии

Зачем при сортировке массива делать два цикла с for, почему нельзя сделать один цикл?

Потому что сортировка - это сравнение двух наборов элементов (каких именно, зависит от алгоритма). И каждый набор надо перебирать отдельно, отсюда два цикла.
Хотя при некоторой фантазии можно собрать два цикла в один. Например, если нам нужны циклы от 0 до 9 по i и j, можно написать так:
for ij:=0 to 99 do begin
i:=ij div 10;
j:=ij mod 10;
...{а тут тело внутреннего цикла}
end;
Но это надо иметь математическую соображалку... и все равно это двойной цикл, просто он иммитируется одним.
Уильям Ти-Спирс
Уильям Ти-Спирс
82 925
Лучший ответ
Пузырьковая сортировка? Потому что во внутреннем цикле элемент при просмотре с начала к концу массива может переместиться только на одну позицию к началу. Значит, надо второй внешний цикл, чтобы этот элемент гарантированно перебрался к началу массива.
А. В.
А. В.
53 146
Если массив двухмерный, то два цикла, если массив трехмерный, то три цикла. По другому перебор данных в один поток не организуешь.
Владислав _________
Владислав _________
65 527
Всё зависит от алгоритма, которым ты сортируешь.
А ты можешь словами описать, как с помощью одного цикла найти правильное место под каждый элемент?
а один цикл с while получится?
АП
Алексей Пан
69 501
Не знаю ни одного метода сортировки, где бы удавалось рассортировать за один проход..
а как в один то? его надо считать и по горизонтали и по вертикале. Если 3-х мерные вообще 3 for. Можно написать одну процедуру и постоянно к ней обращаться.
Я И Ты Омар
Я И Ты Омар
1 736
Попробуй сделать с одним циклом for
Потому что есть true и else поэтому 2