Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να γράψετε ένα Αναδρομική Δείκτης Λειτουργία Max

Αναδρομικές συναρτήσεις λαμβάνουν ένα σύνολο δεδομένων , συνήθως έναν κατάλογο ή ένα δέντρο , και εκτελούν την ίδια λειτουργία σε κάθε στοιχείο μέχρι μια εργασία έχει ολοκληρωθεί. Κάνουν αυτό με την τεχνική της αναδρομής , ή το τρέξιμο μια λειτουργία που καλεί τον εαυτό της ως μέρος της εκτέλεσής του . Αναδρομή επιτρέπει στους προγραμματιστές να γράψουν ένα ενιαίο σύνολο εντολών για να εργαστούν σε μια σειρά από πανομοιότυπα αντικείμενα δεδομένων . Αναδρομή μπορεί να χρησιμοποιηθεί για μια ποικιλία από χρήσιμες εργασίες , όπως η αναζήτηση μια λίστα στοιχείων για να εντοπίσετε την υψηλότερη τιμή . Τα πράγματα που θα χρειαστείτε
C + + compiler
επεξεργαστή κειμένου
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Δημιουργήστε ένα πρόγραμμα που καθορίζει ένα σταθερό μεταβλητό μέγεθος για την αναδρομή , και ορίζει ένα πρωτότυπο για μια λειτουργία findMax :

# include using namespace std ?

const int SIZE = 10 ?

int findMax ( int list [ ] , int current_index , int highest_index ) ?

int main ( ) { }

2

Ορίστε τη λειτουργία findMax αφού η κύρια λειτουργία για να αναζητήσετε μια σειρά αναδρομικά για τη μέγιστη αξία . Αυτή η λειτουργία βήματα μέσω της συστοιχίας , συγκρίνει τιμές , και, τέλος, επιστρέφει το δείκτη του μεγαλύτερο ακέραιο :

int main ( ) { }


int findMax ( λίστα int [ ,"Af̱tí̱ i̱ leitourgía ví̱mata méso̱ ti̱s systoichías , synkrínei timés , kai, télos, epistréfei to deíkti̱ tou megalýtero akéraio :̱

int main ( ) { }


int findMax ( lísta int [ ] , int current_index , int high_index ) { }


εικόνων 3

Δημιουργήστε ένα αναδρομικό βασική περίπτωση στη λειτουργία findMax . Η δήλωση αυτή θα σταματήσει αναδρομή μόλις φτάσει στο τέλος της λίστας :

int findMax ( int list [ ] , int current_index , int high_index ) {

αν ( current_index == SIZE ) { επιστροφή high_index ? } }


Η

4 Ορίστε την αναδρομική δράση αναζήτηση στη λειτουργία findMax . Οι if-else δηλώσεις πάντα θα υποστηρίζουν ότι high_index κατέχει το δείκτη του μεγαλύτερο ακέραιο στον κατάλογο :

int findMax ( int list [ ] , int current_index , int high_index ) {

αν ( current_index == SIZE ) { high_index επιστροφή? }

else if ( list [ high_index ] <λίστα [ current_index ] ) {επιστροφή findMax (κατάλογος , (δείκτης + 1 ) , current_index ) ? } else { επιστροφή findMax (κατάλογος , (δείκτης + 1 ) , high_index ) ? } }
5

Ορίστε έναν πίνακα με ένα τυχαίο συνδυασμό των ακεραίων μέσα στην κύρια λειτουργία :

int main ( ) {

int arr [ 10 ] = { 3 , 2 , 6 , 7 , 10 , 45 , 8 , 99 , 0 , 11 } ? }
Η 6

κηρύξει έναν ακέραιο στο η κύρια λειτουργία , και να καλέσει τη λειτουργία findMax να ορίσετε την τιμή της εν λόγω ακέραιο το δείκτη του μεγαλύτερη τιμή στον κατάλογο :

# include using namespace std ?

int const SIZE = 10 ?

int findMax ( int list [ ] , int current_index , int highest_index ) ?

int main ( ) { int

arr [ 10 ] = { 3 , 2 , 6 , 7 , 10 , 45 , 8 , 99 , 0 , 11 } ?

int μεγαλύτερες = findMax ( ARR , 0 , 0 ) ?

}

int findMax ( int list [ ] , int current_index , int high_index ) {

αν ( current_index == SIZE ) { high_index επιστροφή? }

else if ( list [ high_index ] <λίστα [ current_index ] ) {επιστροφή findMax (κατάλογος , (δείκτης + 1 ) , current_index ) ? } else {επιστροφή findMax (κατάλογος , (δείκτης + 1 ) , high_index ) ? } }

Η

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα