Swift Recurion (Με παραδείγματα)

Σε αυτό το άρθρο, θα μάθετε να δημιουργείτε μια αναδρομική συνάρτηση. μια συνάρτηση που καλείται.

Μια συνάρτηση που ονομάζεται γνωστή ως αναδρομική συνάρτηση. Και, αυτή η τεχνική είναι γνωστή ως επανάληψη. Κατά τη δημιουργία μιας αναδρομικής συνάρτησης, πρέπει να δημιουργήσετε μια συνθήκη έτσι ώστε η συνάρτηση να μην καλείται επ 'αόριστον (απεριόριστα).

Πώς λειτουργεί η αναδρομή στο Swift;

 func recurse () (// δηλώσεις recurse ()) recurse () 

Το παρακάτω σχήμα δείχνει πώς λειτουργεί η αναδρομή καλώντας ξανά και ξανά.

Στο παραπάνω διάγραμμα ροής, η αναδρομή εκτελείται απεριόριστα. Ωστόσο, σχεδόν όλες τις φορές, δημιουργείτε μια αναδρομή που εκτελείται έως ότου ικανοποιηθεί κάποια προϋπόθεση.

Για να αποφύγετε την άπειρη αναδρομή, χρησιμοποιήστε την αναδρομική κλήση εντός των Swift Conditions Statements, π.χ. εάν … άλλο.

Παράδειγμα 1: Εκτύπωση Ν θετικών αριθμών

 func countDownToZero(num: Int) ( print(num) if num> 0 ( countDownToZero(num: num - 1) ) ) print("Countdown:") countDownToZero(num:3) 

Όταν εκτελείτε το ακόλουθο πρόγραμμα, η έξοδος θα είναι:

 Αντίστροφη μέτρηση: 3 2 1 0

Στο παραπάνω πρόγραμμα, η δήλωση print("Countdown:")εξάγει Countdown: στην κονσόλα. Και η δήλωση countDownToZero(num:3)καλεί τη συνάρτηση που παίρνει μια παράμετρο Integer.

Η δήλωση μέσα στη συνάρτηση countDownToZero()εκτελείται και εάν πληρούται η συνθήκη num> 0, η συνάρτηση countDownToZero()καλείται ξανά ως countDownToZero(num: num - 1).

Εάν δεν πληρούται η συνθήκη, η κλήση λειτουργίας δεν γίνεται και η αναδρομή σταματά.

Ας το δούμε στα βήματα

Βήματα εκτέλεσης
Βήματα Κλήση λειτουργίας Εντυπος αριθμός> 0;
1 countDownToZero(3) 3 Ναί
2 countDownToZero(2) 2 Ναί
3 countDownToZero(1) 1 Ναί
4 countDownToZero(0) 0 Όχι (Λήξη)

Παράδειγμα 2: Βρείτε παραγοντικά ενός αριθμού

 func factorial(of num: Int) -> Int ( if num == 1 ( return 1 ) else ( return num * factorial(of:num - 1) ) ) let x = 4 let result = factorial(of: x) print("The factorial of (x) is (result)") 

Όταν εκτελείτε το ακόλουθο πρόγραμμα, η έξοδος θα είναι:

 Το παραγοντικό του 4 είναι 24

Πώς λειτουργεί αυτό το παράδειγμα;

Ας το δούμε στα βήματα

Βήματα εκτέλεσης
Βήματα Το επιχείρημα πέρασε Δήλωση επιστροφής αξία
1 4 return 4 * factorial(of:3) 4 * παραγοντική (από: 3)
2 3 return 3 * factorial(of:2) Παράγοντα 4 * 3 * (από: 2)
3 2 return 2 * factorial(of:1) Παράγοντα 4 * 3 * 2 * (από: 1)
4 1 return 1 4 * 3 * 2 * 1

Συνήθως η αναδρομή χρησιμοποιείται ως αντικατάσταση της επανάληψης όταν η λύση σε ένα πρόβλημα μπορεί να βρεθεί σε δύο περίπου βήματα. Το πρώτο βήμα αναζητά μια λύση, εάν δεν επαναλάβει τη διαδικασία.

ενδιαφέροντα άρθρα...