English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой статье вы узнаете о вложенных циклах и их работе с помощью примеров.
Если в теле одного цикла существует другой цикл, то это называется вложенным циклом. Это пример вложенного цикла for-in.
for (i in 1...5) { // Слова внешнего цикла for j in 1...2 { // Слова внутреннего цикла } // Слова внешнего цикла }
Здесь, цикл for j in 1...2 называется внутренним циклом, который находится внутри тела внешнего цикла for i in 1...5.
Следует отметить, что вложенные циклы могут не содержать циклов одного и того же типа. Например, вы можете поместить цикл while в тело цикла for, но он все равно будет вложенным.
ВложенныйЦикл for-inВключает один цикл for-in в качестве инструкции другого цикла for-in. Вы можете иметь любое количество вложенных циклов for-in по мере необходимости.
for (i in 1...5) { print("Итерация внешнего цикла ", i) for j in 1...2 { print("Итерация внутреннего цикла ", j) print("i = \(i); j = \(j)") } }
При выполнении программы вывод будет следующим:
Внешний цикл выполняется 1 раз Внутренний цикл выполняется 1 раз i = 1; j = 1 Внутренний цикл выполняется 2 раза i = 1; j = 2 Внешний цикл выполняется 2 раза Внутренний цикл выполняется 1 раз i = 2; j = 1 Внутренний цикл выполняется 2 раза i = 2; j = 2 Внешний цикл выполняется 3 раза Внутренний цикл выполняется 1 раз i = 3; j = 1 Внутренний цикл выполняется 2 раза i = 3; j = 2 Внешний цикл выполняется 4 раза Внутренний цикл выполняется 1 раз i = 4; j = 1 Внутренний цикл выполняется 2 раза i = 4; j = 2 Внешний цикл выполняется 5 раз Внутренний цикл выполняется 1 раз i = 5; j = 1 Внутренний цикл выполняется 2 раза i = 5; j = 2
В приведенном выше коде внешний цикл выполняется 5 раз. В каждом выполнении внешнего цикла внутренний цикл выполняется 2 раза.
ВложенныйЦикл whileВключает один цикл while в качестве инструкции другого цикла while. Вы можете настроить любое количество вложенных циклов while по мере необходимости.
var i = 1 while i <= 5 { print("Итерация внешнего цикла ", i) var j = 1 while (j <= 2) { print("Итерация внутреннего цикла ", j) print("i = \(i); j = \(j)") j += 1 } i += 1 }
Вывод программы аналогичен выводу предыдущей программы.
ВложенныйЦикл repeat while Включает один цикл repeat-while в качестве инструкции другого цикла repeat-while. Вы можете настроить любое количество вложенных циклов while по мере необходимости.
var i = 1 repeat { print("Итерация внешнего цикла ", i) var j = 1 repeat { print("Итерация внутреннего цикла ", j) print("i = \(i); j = \(j)") j += 1 while (j <= 2) i += 1 while (i <= 5)
Вывод программы аналогичен выводу предыдущей программы.
Необязательно иметь вложенные циклы одного и того же типа. Вы можете создать вариации вложенных циклов, поместив один тип цикла в другой.
Этот код содержит различные типы вложенных циклов (циклы while и for-in).
var i = 1 while i <= 5 { print("Итерация внешнего цикла ", i) for j in 1...2 { print("Итерация внутреннего цикла ", j) print("i = \(i); j = \(j)") } i += 1 }
Вывод программы аналогичен выводу предыдущей программы.
Вложенные циклы часто используются в программировании для создания шаблонов. Ниже приведен пример программы, показывающей, как использовать вложенные циклы для создания простых шаблонов.
let rows = 5 for i in 1...rows { for j in 1...i { print("\(j) \", terminator: ")") } print("") }
При выполнении программы вывод будет следующим:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5