Ātri ligzdotas cilpas (ar piemēriem)

Šajā rakstā jūs uzzināsiet par ligzdotajām cilpām un to darbību, izmantojot piemērus.

Ja cilpa pastāv citas cilpas korpusā, to sauc par ligzdotu cilpu. Lūk, ievietotu ligzdotu for-in cilpu piemērs.

 i i 1 … 5 (// ārējās cilpas paziņojumi j j 1… 2 (// iekšējās cilpas paziņojumi) // ārējā cilpas paziņojumi) 

Šeit for j in 1… 2cilpa, kas pazīstama kā iekšējā cilpa, atrodas korpusā, kas for i in 1… 5pazīstams kā ārējā cilpa.

Jāatzīmē, ka ligzdotā cilpa nedrīkst saturēt tāda paša veida cilpas. Piemēram, jūs varat ievietot kādu laiku cilpu for for loop korpusā, un tā joprojām ir ligzdota cilpa.

Ātra ligzdota iebūvēta cilpa

Ligzdotā iesūtīšanas cilpa satur for-in cilpu kā paziņojumu citas iesūtīšanas cilpa iekšpusē. Vajadzības gadījumā jums var būt jebkurš skaits ligzdotu iesūtīšanas cilpu.

1. piemērs: ātra ligzdota iekšējā cilpa

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

Palaidot programmu, izeja būs:

Ārējās cilpas atkārtojums 1 Iekšējās cilpas atkārtojums 1 i = 1; j = 1 Iekšējās cilpas atkārtojums 2 i = 1; j = 2 Ārējās cilpas iterācija 2 Iekšējās cilpas iterācija 1 i = 2; j = 1 Iekšējās cilpas atkārtojums 2 i = 2; j = 2 Ārējās cilpas iterācija 3 Iekšējās cilpas iterācija 1 i = 3; j = 1 Iekšējās cilpas atkārtojums 2 i = 3; j = 2 Ārējās cilpas iterācija 4 Iekšējās cilpas iterācija 1 i = 4; j = 1 Iekšējās cilpas atkārtojums 2 i = 4; j = 2 Ārējās cilpas iterācija 5 Iekšējās cilpas iterācija 1 i = 5; j = 1 Iekšējās cilpas atkārtojums 2 i = 5; j = 2

Iepriekš minētajā programmā ārējā cilpa atkārtojas 5 reizes. Katrā ārējās cilpas atkārtojumā iekšējā cilpa atkārtojas 2 reizes.

Ātra ligzdošana, kamēr cilpa

Ligzdota kamēr cilpa satur kamēr cilpu kā paziņojumu citas kamēr cilpa iekšpusē. Cilpām var būt nepieciešamais skaits ligzdotu.

2. piemērs: ātra ligzda, kamēr cilpa

 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 ) 

Programmas izeja ir tāda pati kā iepriekšminētajai programmai.

Ātra ligzdota atkārtota, bet cilpa

Ligzdota atkārtojuma, kamēr cilpa satur atkārtojuma kamēr cilpa kā paziņojumu citas atkārtotas kopēšanas cilpas iekšpusē. Cilpām var būt nepieciešamais skaits ligzdotu.

3. piemērs: ātra ligzdota atkārtota atkārtota cilpa

 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) 

Programmas izeja ir tāda pati kā iepriekšminētajai programmai.

Dažādu veidu ātra ligzdota cilpa

Nav nepieciešams, lai būtu viena veida ligzdotas cilpas. Varat arī izveidot ligzdotu cilpu variācijas, ievietojot cilpu tipu cita veida cilpās.

3. piemērs: ātra ligzdota cilpa un kamēr

Zemāk esošajā programmā ir dažāda veida ligzdota cilpa (kamēr un for-in cilpa).

 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 ) 

Programmas izeja ir tāda pati kā iepriekšminētajai programmai.

4. piemērs: Programma modeļa izveidošanai ar Swift cilpām

Ligzdotās cilpas bieži izmanto, lai izveidotu modeļus programmēšanā. Zemāk programma parāda, kā jūs varat izveidot vienkāršu modeli, izmantojot ligzdotas cilpas.

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

Palaidot programmu, izeja būs:

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

Interesanti raksti...