Nopeat sisäkkäiset silmukat (esimerkkejä)

Tässä artikkelissa opit sisäkkäisistä silmukoista ja niiden toiminnasta esimerkkien avulla.

Jos toisen silmukan rungossa on silmukka, sitä kutsutaan sisäkkäiseksi silmukaksi. Tässä on esimerkki sisäkkäisistä for-in-silmukoista.

 i: lle 1… 5 (// ulkosilmukan lauseet j: lle 1… 2 (// sisäisen silmukan lauseet) // ulomman silmukan lauseet) 

Tässä for j in 1… 2silmukka, joka tunnetaan nimellä sisempi silmukka, on rungon sisällä, joka for i in 1… 5tunnetaan nimellä ulompi silmukka.

On huomattava, että sisäkkäinen silmukka ei välttämättä sisällä samantyyppisiä silmukoita. Voit esimerkiksi laittaa jonkin aikaa silmukan for for -silmukan rungon sisään ja se on silti sisäkkäinen silmukka.

Swift Sisäänrakennettu silmukka

Sisäkkäinen for-in -silmukka sisältää for-in -silmukan lausekkeena toisen for-in -silmukan sisällä. Sinulla voi olla mikä tahansa määrä sisäkkäisiä for-in -silmukoita tarpeen mukaan.

Esimerkki 1: Swift Nested for-in -silmukka

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

Kun suoritat ohjelmaa, tulos on:

Ulkosilmukan iteraatio 1 Sisäsilmukan iteraatio 1 i = 1; j = 1 Sisäsilmukan iteraatio 2 i = 1; j = 2 Ulkosilmukan iteraatio 2 Sisäsilmukan iteraatio 1 i = 2; j = 1 Sisäsilmukan iteraatio 2 i = 2; j = 2 Ulkosilmukan iteraatio 3 Sisäisen silmukan iteraatio 1 i = 3; j = 1 Sisäsilmukan iteraatio 2 i = 3; j = 2 ulkosilmukan iterointi 4 sisäisen silmukan iteraatio 1 i = 4; j = 1 Sisäsilmukan iteraatio 2 i = 4; j = 2 Ulkosilmukan iterointi 5 Sisäisen silmukan iteraatio 1 i = 5; j = 1 Sisäsilmukan iteraatio 2 i = 5; j = 2

Yllä olevassa ohjelmassa ulompi silmukka toistuu 5 kertaa. Kummassakin ulkosilmukan iteraatiossa sisäinen silmukka toistaa 2 kertaa.

Swift Sisäkkäin silmukan aikana

Sisäkkäinen while-silmukka sisältää while-silmukan lauseena toisen while-silmukan sisällä. Sinulla voi olla mikä tahansa määrä sisäkkäisiä silmukoita tarpeen mukaan.

Esimerkki 2: Swift sisäkkäin silmukan aikana

 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 ) 

Ohjelman tuotos on sama kuin yllä olevassa ohjelmassa.

Swift Nested -toistosilmukka

Sisäkkäinen Repeat while -silmukka sisältää Repeat-while-silmukan lauseena toisen Repeat-while-silmukan sisällä. Sinulla voi olla mikä tahansa määrä sisäkkäisiä silmukoita tarpeen mukaan.

Esimerkki 3: Swift Nested -toistosilmukka

 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) 

Ohjelman tuotos on sama kuin yllä olevassa ohjelmassa.

Erityyppinen nopea sisäkkäinen silmukka

Samantyyppisiä sisäkkäisiä silmukoita ei tarvitse olla. Voit myös luoda muunnelmia sisäkkäisistä silmukoista asettamalla silmukan tyypin muun tyyppisiin silmukoihin.

Esimerkki 3: Nopea sisäkkäinen silmukka aikaa ja varten

Alla oleva ohjelma sisältää erityyppisiä sisäkkäisiä silmukoita (while ja 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 ) 

Ohjelman tuotos on sama kuin yllä olevassa ohjelmassa.

Esimerkki 4: Ohjelma luomaan kuvio Swift-silmukoilla

Sisäkkäisiä silmukoita käytetään usein kuvioiden luomiseen ohjelmoinnissa. Alla oleva ohjelma näyttää kuinka voit luoda yksinkertaisen kuvion sisäkkäisillä silmukoilla.

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

Kun suoritat ohjelmaa, tulos on:

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

Mielenkiintoisia artikkeleita...