V tem članku boste s primeri spoznali ugnezdene zanke in kako to deluje.
Če zanka obstaja znotraj telesa druge zanke, se imenuje ugnezdena zanka. Tu je primer ugnezdene zanke for-in.
za i v 1… 5 (// izjave zunanje zanke za j v 1… 2 (// izjave notranje zanke) // izjave zunanje zanke)
Tu je for j in 1… 2
zanka, znana kot notranja zanka, znotraj telesa, for i in 1… 5
znane kot zunanja zanka.
Upoštevati je treba, da ugnezdena zanka ne sme vsebovati zank istega tipa. Na primer, lahko vstavite zanko while v telo zanke for in je še vedno ugnezdena zanka.
Hitra ugnezdena zanka
Vgnezdena zanka for-in vsebuje zanko for-in kot stavek znotraj druge zanke for-in. Po potrebi lahko imate poljubno število ugnezdenih zank za vklop.
Primer 1: Hitra ugnezdena zanka za vklop
for i in 1… 5 ( print("Outer loop iteration ", i) for j in 1… 2 ( print("Inner loop iteration ", j) print("i = (i); j = (j)") ) )
Ko zaženete program, bo rezultat:
Ponavljanje zunanje zanke 1 Ponavljanje notranje zanke 1 i = 1; j = 1 ponovitev notranje zanke 2 i = 1; j = 2 ponovitev zunanje zanke 2 ponovitev notranje zanke 1 i = 2; j = 1 ponovitev notranje zanke 2 i = 2; j = 2 ponovitev zunanje zanke 3 ponovitev notranje zanke 1 i = 3; j = 1 ponovitev notranje zanke 2 i = 3; j = 2 ponovitev zunanje zanke 4 ponovitev notranje zanke 1 i = 4; j = 1 ponovitev notranje zanke 2 i = 4; j = 2 ponovitev zunanje zanke 5 ponovitev notranje zanke 1 i = 5; j = 1 ponovitev notranje zanke 2 i = 5; j = 2
V zgornjem programu se zunanja zanka ponovi 5-krat. Pri vsaki ponovitvi zunanje zanke se notranja zanka ponovi 2-krat.
Hitri gnezdi, medtem ko zanka
Vgnezdena zanka while vsebuje zanko while kot stavek znotraj druge zanke while. Po potrebi lahko imate poljubno število ugnezdenih zank.
Primer 2: Hitro gnezdo, medtem ko zanka
var i = 1 while i <= 5 ( print("Outer loop iteration ", i) var j = 1 while j <= 2 ( print("Inner loop iteration ", j) print("i = (i); j = (j)") j += 1 ) i += 1 )
Rezultat programa je enak zgornjemu programu.
Hitra ugnezdena ponovitev med ponovitvijo
Vgnezdena ponovitev while zanka vsebuje zanko repeat-while kot stavek znotraj druge zanke repeat-while. Po potrebi lahko imate poljubno število ugnezdenih zank.
Primer 3: Hitra gnezdena ponavljajoča se zanka
var i = 1 repeat ( print("Outer loop iteration ", i) var j = 1 repeat ( print("Inner loop iteration ", j) print("i = (i); j = (j)") j += 1 ) while (j <= 2) i += 1 ) while (i <= 5)
Rezultat programa je enak zgornjemu programu.
Hitra ugnezdena zanka različnih vrst
Ni nujno, da imajo ugnezdene zanke iste vrste. Različice ugnezdenih zank lahko ustvarite tudi tako, da v druge vrste zank vstavite vrsto zanke.
Primer 3: Hitro ugnezdena zanka while in for
Spodnji program vsebuje ugnezdene zanke različnih vrst (while in for-in zanka).
var i = 1 while i <= 5 ( print("Outer loop iteration ", i) for j in 1… 2 ( print("Inner loop iteration ", j) print("i = (i); j = (j)") ) i += 1 )
Rezultat programa je enak zgornjemu programu.
Primer 4: Program za ustvarjanje vzorca z zankami Swift
Vgnezdene zanke se pogosto uporabljajo za ustvarjanje vzorcev pri programiranju. Spodnji program prikazuje, kako lahko z uporabo ugnezdenih zank ustvarite preprost vzorec.
let rows = 5 for i in 1… rows ( for j in 1… i ( print("(j) ", terminator: "") ) print("") )
Ko zaženete program, bo rezultat:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5