Поведение циклов for в C++ и циклов whileC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Поведение циклов for в C++ и циклов while

Сообщение Anonymous »

Насколько я понимаю, когда вы пишете цикл for, подобный этому

Код: Выделить всё

for (int i = 0; i < SOME_NUM; i++) {
if (true)
do_something();
else
do_something_else();
}
На временную сложность этой операции в основном влияет оператор if (true), поскольку итерации цикла for фактически не включают в себя какие-либо сравнения i до SOME_NUM, компилятор просто выполнит код внутри цикла for SOME_NUM раз. Поправьте меня, если я ошибаюсь.

Однако, если это правильно, то как ведут себя следующие вложенные циклы for?

Код: Выделить всё

for (int i = 0; i < SOME_NUM; i++) {
for (int j = 0; j < i; j++) {
do_something();
}
}
J во внутреннем цикле for теперь имеет верхнюю границу i, значение, которое меняется каждый раз при перезапуске цикла. Как компилятор это скомпилирует? По сути, эти вложенные циклы for ведут себя как цикл for с циклом while внутри него? Если вы пишете алгоритм, использующий вложенные циклы for, где внутренняя переменная счета зависит от внешней переменной счета, стоит ли вам беспокоиться о том, как это повлияет на сложность вашего алгоритма?

Подробнее здесь: https://stackoverflow.com/questions/239 ... hile-loops
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу создать таймер обратного отсчета, используя различные типы циклов (for, while, do- while) в Java?
    Anonymous » » в форуме JAVA
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Почему while(end > Begin) не сработало, а while(begin <= end) сработало? [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    121 Просмотры
    Последнее сообщение Anonymous
  • Что означает «делать while (...) {...} while (...)»?
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Что означает «делать while (...) {...} while (...)»?
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Невозможно найти ошибку символа после оператора while в моем цикле do- while [дубликат]
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»