I denne artikel lærer du om indlejrede sløjfer og hvordan det fungerer med eksempler.
Hvis der findes en sløjfe inde i kroppen af en anden sløjfe, kaldes den en indlejret løkke. Her er et eksempel på indlejret for-in-løkke.
for i i 1… 5 (// udsagn om ydre sløjfe for j i 1… 2 (// udsagn om indre sløjfe) // udsagn om ydre sløjfe)
Her er for j in 1… 2
sløjfen kendt som indre sløjfe inde i kroppen for i in 1… 5
kendt som ydre sløjfe.
Det skal bemærkes, at indlejret løkke muligvis ikke indeholder sløjfer af samme type. For eksempel kan du sætte et stykke løkke inde i kroppen af en for løkke, og det er stadig en indlejret løkke.
Swift Nested for-in Loop
En indlejret for-in-loop indeholder en for-in-loop som sætning inde i en anden for-in-loop. Du kan have et vilkårligt antal indlejrede for-in-løkker efter behov.
Eksempel 1: Swift Nested for-in Loop
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)") ) )
Når du kører programmet, vil output være:
Ydre sløjfe iteration 1 Indvendig sløjfe iteration 1 i = 1; j = 1 Inter loop-iteration 2 i = 1; j = 2 Ydre sløjfe iteration 2 Indre sløjfe iteration 1 i = 2; j = 1 Inter loop-iteration 2 i = 2; j = 2 Ydre sløjfe iteration 3 Indre sløjfe iteration 1 i = 3; j = 1 Inder loop-iteration 2 i = 3; j = 2 Ydre sløjfe iteration 4 Indre sløjfe iteration 1 i = 4; j = 1 Inder loop-iteration 2 i = 4; j = 2 Ydre sløjfe iteration 5 Indre sløjfe iteration 1 i = 5; j = 1 Inter loop-iteration 2 i = 5; j = 2
I ovenstående program gentages den ydre sløjfe 5 gange. I hver iteration af ydre sløjfe gentager den indre sløjfe 2 gange.
Swift nestet mens Loop
En nestet while-loop indeholder en while-loop som udsagn i en anden while-loop. Du kan have et vilkårligt antal indlejrede mens sløjfer efter behov.
Eksempel 2: Swift Nested while Loop
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 )
Programmets output er den samme som ovenstående program.
Swift Nestet gentagelse-mens Loop
En indlejret gentagelse mens sløjfe indeholder en gentagelses-sløjfe som udsagn i en anden gentagelses-sløjfe. Du kan have et vilkårligt antal indlejrede mens sløjfer efter behov.
Eksempel 3: Hurtig indlejret gentagelse mens sløjfe
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)
Programmets output er den samme som ovenstående program.
Swift Nested Loop af forskellige typer
Det er ikke nødvendigt at have indlejrede løkker af samme type. Du kan også oprette variationer af indlejrede løkker ved at placere en type løkke inde i andre typer af løkker.
Eksempel 3: Swift Nested Loop af mens og for
Nedenstående program indeholder indlejret løkke af forskellige typer (mens og for-in-løkke).
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 )
Programmets output er den samme som ovenstående program.
Eksempel 4: Program til at oprette et mønster med Swift-løkker
Indlejrede sløjfer bruges ofte til at skabe mønstre i programmeringen. Nedenstående program viser, hvordan du kan oprette et simpelt mønster ved hjælp af indlejrede sløjfer.
let rows = 5 for i in 1… rows ( for j in 1… i ( print("(j) ", terminator: "") ) print("") )
Når du kører programmet, vil output være:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5