Пройти цикл туда, а потом обратно
Вопрос понятен. Делаешь два цикла. Внешний - на проверку четности. Дальше ясно?
сенк у
десять баксов:)
могу дать две купюры достоинством 3 и 7 (целой 10ки нету)
С другой стороны, очень полезно для ускорения циклов совмещать несколько итераций одного цикла.
Поэтому полезно организовать цикл так: проходим от адреса A до адреса B (неважно, в каком направлении) с достаточно большим шагом P (обычно лучший выбор P = 8, реже 4 или 16). При этом ячейки между Pn и Pn+1 обрабатываем внутри тела цикла в одной итерации явным образом, проходя по памяти в естественном направлении.
В итоге получится:
1. В каком бы направлении цикл ни работал, доступ к памяти - в естественном порядке, то есть максимально эффективный.
2. Совмещение итераций загружает конвейр процессора, дополнительно ускоряя программу.
Через три месяца ты дооолго будешь втыкать, что же там происходит....
Смотря, что за цикл, для чуть более сложных циклов (когда много операций и задействованных различных структур в одной итерации) такие извращения не имеют смысл, не говоря о том, что и без них часто проблемы с читабельностью.
Оставить комментарий
tuz05yaru
как повернуть цикл обратно?то есть чтоб он до конца проработал и затем начал работать в обратном порядке, вернулся к началу и снова пошел работать.
сорри если плохо объяснил