Swift Nested Loops (met voorbeelden)

In dit artikel leer je over geneste lussen en hoe het werkt, met voorbeelden.

Als er een lus in de body van een andere lus bestaat, wordt dit een geneste lus genoemd. Hier is een voorbeeld van een geneste for-in-lus.

 for i in 1… 5 (// statements van buitenste lus voor j in 1… 2 (// statements van binnenste lus) // statements van buitenste lus) 

Hier bevindt de for j in 1… 2lus die bekend staat als de binnenste lus, zich in het lichaam van de for i in 1… 5zogenaamde buitenste lus.

Opgemerkt moet worden dat geneste lussen mogelijk geen lussen van hetzelfde type bevatten. U kunt bijvoorbeeld een while-lus in de body van een for-lus plaatsen en het is nog steeds een geneste lus.

Swift Geneste for-in Loop

Een geneste for-in-lus bevat een for-in-lus als instructie binnen een andere for-in-lus. U kunt naar wens een willekeurig aantal geneste for-in-lussen hebben.

Voorbeeld 1: Swift geneste for-in-lus

 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)") ) ) 

Wanneer u het programma uitvoert, is de uitvoer:

Herhaling buitenlus 1 Herhaling binnenlus 1 i = 1; j = 1 Herhaling van de binnenlus 2 i = 1; j = 2 Herhaling buitenlus 2 Herhaling binnenlus 1 i = 2; j = 1 Herhaling van de binnenlus 2 i = 2; j = 2 Herhaling buitenlus 3 Herhaling binnenlus 1 i = 3; j = 1 Herhaling van de binnenlus 2 i = 3; j = 2 Herhaling buitenlus 4 Herhaling binnenlus 1 i = 4; j = 1 Herhaling van de binnenlus 2 i = 4; j = 2 Herhaling buitenlus 5 Herhaling binnenlus 1 i = 5; j = 1 Herhaling van de binnenlus 2 i = 5; j = 2

In het bovenstaande programma wordt de buitenste lus 5 keer herhaald. In elke iteratie van de buitenste lus herhaalt de binnenste lus 2 keer.

Snel genest terwijl lus

Een geneste while-lus bevat een while-lus als instructie binnen een andere while-lus. U kunt desgewenst een willekeurig aantal geneste while-lussen hebben.

Voorbeeld 2: Swift genest terwijl lus

 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 ) 

De output van het programma is hetzelfde als het bovenstaande programma.

Snelle geneste herhaal-while-lus

Een geneste herhaal while-lus bevat een herhaal-while-lus als instructie binnen een andere herhaal-while-lus. U kunt desgewenst een willekeurig aantal geneste while-lussen hebben.

Voorbeeld 3: Swift Geneste herhaal-while-lus

 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) 

De output van het programma is hetzelfde als het bovenstaande programma.

Swift Nested Loop van verschillende typen

Het is niet nodig om geneste lussen van hetzelfde type te hebben. U kunt ook variaties op geneste lussen maken door een type lus in andere soorten lussen te plaatsen.

Voorbeeld 3: Swift geneste lus van while en for

Het onderstaande programma bevat geneste loop van verschillende typen (while en for-in loop).

 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 ) 

De output van het programma is hetzelfde als het bovenstaande programma.

Voorbeeld 4: programma om een ​​patroon met Swift-loops te maken

Geneste lussen worden vaak gebruikt om patronen te creëren bij het programmeren. Het onderstaande programma laat zien hoe u een eenvoudig patroon kunt maken met geneste lussen.

 let rows = 5 for i in 1… rows ( for j in 1… i ( print("(j) ", terminator: "") ) print("") ) 

Wanneer u het programma uitvoert, is de uitvoer:

 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

Interessante artikelen...