Skip to main content

Τι είναι η επανάληψη της ουράς;

Η επανάληψη της ουράς είναι ένας τύπος μέθοδος προγραμματισμού, όπου μια μέθοδος καλείται, και στη συνέχεια επιστρέφει αμέσως την τιμή αυτής της δεύτερης κλήσης.Με άλλα λόγια, η επανάληψη της ουράς συμβαίνει όταν η τελική δήλωση μέσα σε μια μέθοδο είναι μια άλλη κλήση προς την ίδια μέθοδο.Οι παράμετροι στη δεύτερη κλήση μεθόδου είναι γενικά διαφορετικές από αυτές του πρώτου, αλλά αυτό δεν απαιτείται.Προκειμένου να λειτουργήσει αυτή η επανάληψη, η μέθοδος που καλείται μέσα στον εαυτό της πρέπει να επιστρέψει μια συγκεκριμένη τιμή, όπως έναν αριθμό, συμβολοσειρά ή κάποιο άλλο αντικείμενο.Οι μέθοδοι κενών, οι οποίες δεν επιστρέφουν μια τιμή, δεν λειτουργούν καλά για την επανάληψη.

Η απαίτηση ότι μια αναδρομική κλήση πρέπει να είναι η τελευταία δήλωση στη μέθοδο κλήσης της δεν σημαίνει απαραίτητα ότι η αναδρομική κλήση είναι η τελευταία γραμμή της μεθόδου.Μια σωστή κλήση επανάληψης ουράς μπορεί επίσης να βρεθεί μέσα σε μια δομή ελέγχου, πράγμα που σημαίνει ότι, στον πηγαίο κώδικα, η δομή ελέγχου μπορεί να τερματίσει τη μέθοδο και όχι την κλήση.Η σημαντική διάκριση σε αυτή την περίπτωση είναι ότι μια δομή ελέγχου δεν είναι μια δήλωση προγραμματισμού, αλλά ένα ενσωματωμένο μέρος της γλώσσας του υπολογιστή.Συχνά, αυτές οι αναδρομικές κλήσεις μπορούν να ξαναγραφούν χρησιμοποιώντας άλλα μέσα, όπως για βρόχους, ενώ οι βρόχοι ή οι δηλώσεις GOTO.Η χρησιμότητα της επανάληψης βρίσκεται κατά τη δημιουργία πολλών διαδοχικών κλήσεων στην ίδια μέθοδο.Η επανάληψη είναι συχνά ο καθαρότερος και ευκολότερος τρόπος για την επίτευξη επαναλαμβανόμενων καθηκόντων.

Ένα κοινό παράδειγμα αναδρομής της ουράς είναι μια μέθοδος που υπολογίζει τον παράγοντα ενός αριθμού.Αυτή η διαδικασία είναι ιδανική επειδή, ξεκινώντας από οποιονδήποτε αριθμό, κάθε αριθμός πριν πολλαπλασιαστεί μαζί.Έτσι, για να βρούμε το παράγοντα 5, η σωστή διαδικασία για να γίνει αυτό θα ήταν να πολλαπλασιαστεί 5*4*3*2*1.Η επανάληψη έρχεται εξαιτίας του τρόπου με τον οποίο η μέθοδος του παράγοντα είναι δομημένη: εάν ο παράγοντας είναι 1, επιστροφή 1, αλλιώς επιστρέψτε το παράγοντα του αριθμού που δίνεται στη μέθοδο μείον ένα.Αυτή η μέθοδος είναι επίσης χρήσιμη επειδή μπορεί να είναι ισοδύναμα γραμμένη χρησιμοποιώντας είτε τον τύπο της επανάληψης της ουράς, με ή χωρίς μια δήλωση ελέγχου γύρω από μια τελική κλήση μεθόδου.

Η επανάληψη ουράς είναι μόνο ένα παράδειγμα των πολλαπλών τύπων επανάληψης.Η έννοια σε όλους τους τύπους επανάληψης είναι ουσιαστικά η ίδια, που με κάποιο τρόπο μια μέθοδος αποκαλείται.Από αυτούς τους τύπους, η διάκριση της επανάληψης στην ουρά είναι ότι η αξία μιας αναδρομικής κλήσης επιστρέφεται αμέσως και τίποτα άλλο δεν συμβαίνει στη μέθοδο κλήσης μετά από αυτή την κλήση.