W tym artykule dowiesz się o zagnieżdżonych pętlach i ich działaniu wraz z przykładami.
Jeśli pętla istnieje wewnątrz treści innej pętli, nazywana jest pętlą zagnieżdżoną. Oto przykład zagnieżdżonej pętli for-in.
for i in 1… 5 (// instrukcje pętli zewnętrznej dla j in 1… 2 (// instrukcje pętli wewnętrznej) // instrukcje pętli zewnętrznej)
Tutaj for j in 1… 2
pętla znana jako pętla wewnętrzna znajduje się wewnątrz ciała for i in 1… 5
znanej jako pętla zewnętrzna.
Należy zauważyć, że zagnieżdżona pętla nie może zawierać pętli tego samego typu. Na przykład możesz umieścić pętlę while wewnątrz treści pętli for i nadal jest to pętla zagnieżdżona.
Szybka zagnieżdżona pętla for-in
Zagnieżdżona pętla for-in zawiera pętlę for-in jako instrukcję wewnątrz innej pętli for-in. W razie potrzeby możesz mieć dowolną liczbę zagnieżdżonych pętli for-in.
Przykład 1: Swift zagnieżdżona pętla for-in
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)") ) )
Po uruchomieniu programu wynik będzie następujący:
Iteracja pętli zewnętrznej 1 Iteracja pętli wewnętrznej 1 i = 1; j = 1 Iteracja pętli wewnętrznej 2 i = 1; j = 2 Iteracja pętli zewnętrznej 2 Iteracja pętli wewnętrznej 1 i = 2; j = 1 Iteracja pętli wewnętrznej 2 i = 2; j = 2 Iteracja pętli zewnętrznej 3 Iteracja pętli wewnętrznej 1 i = 3; j = 1 Iteracja pętli wewnętrznej 2 i = 3; j = 2 Iteracja pętli zewnętrznej 4 Iteracja pętli wewnętrznej 1 i = 4; j = 1 Iteracja pętli wewnętrznej 2 i = 4; j = 2 Iteracja w pętli zewnętrznej 5 Iteracja w pętli wewnętrznej 1 i = 5; j = 1 Iteracja pętli wewnętrznej 2 i = 5; j = 2
W powyższym programie zewnętrzna pętla iteruje 5 razy. W każdej iteracji pętli zewnętrznej pętla wewnętrzna wykonuje iterację 2 razy.
Szybkie zagnieżdżone podczas pętli
Zagnieżdżona pętla while zawiera pętlę while jako instrukcję wewnątrz innej pętli while. W razie potrzeby możesz mieć dowolną liczbę zagnieżdżonych pętli while.
Przykład 2: Swift zagnieżdżony 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 )
Wynik programu jest taki sam jak powyższego programu.
Szybka, zagnieżdżona pętla z powtórzeniami w czasie
Zagnieżdżona pętla repeat while zawiera pętlę repeat-while jako instrukcję wewnątrz innej pętli repeat-while. W razie potrzeby możesz mieć dowolną liczbę zagnieżdżonych pętli while.
Przykład 3: Szybka, zagnieżdżona pętla powtarzania podczas
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)
Wynik programu jest taki sam jak powyższego programu.
Szybkie zagnieżdżone pętle różnych typów
Nie ma potrzeby posiadania zagnieżdżonych pętli tego samego typu. Możesz także tworzyć odmiany zagnieżdżonych pętli, umieszczając rodzaj pętli wewnątrz innych typów pętli.
Przykład 3: Szybka zagnieżdżona pętla while i for
Poniższy program zawiera zagnieżdżoną pętlę różnych typów (pętla while i for-in).
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 )
Wynik programu jest taki sam jak powyższego programu.
Przykład 4: Program do tworzenia wzorca z pętlami Swift
Zagnieżdżone pętle są często używane do tworzenia wzorców w programowaniu. Poniższy program pokazuje, jak można stworzyć prosty wzór za pomocą zagnieżdżonych pętli.
let rows = 5 for i in 1… rows ( for j in 1… i ( print("(j) ", terminator: "") ) print("") )
Po uruchomieniu programu wynik będzie następujący:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5