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

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

Πώς να Traverse Αναδρομικά σε Συνδεδεμένη Λίστα

Η δομή των δεδομένων Linked List είναι μια ισχυρή εναλλακτική λύση για απλές συστοιχίες . Σε αντίθεση με συστοιχίες , τα δεδομένα μπορούν να προστεθούν γρήγορα και να αφαιρείται από μια συνδεδεμένη λίστα , χωρίς να δημιουργήσει εκ νέου τον κατάλογο ένα στοιχείο τη φορά. Ωστόσο , σε αντίθεση με συστοιχίες , τα δεδομένα σε μια συνδεδεμένη λίστα μπορεί να προσεγγιστεί μόνο με τη σειρά. Μπορείτε να το κάνετε αυτό με ένα απλό βρόχο ή με αναδρομικό ( ή αυτο - κλήσεων) λειτουργία . Αυτό θα είναι γραμμένο σε Java , αλλά ο κώδικας μπορεί να εφαρμοστεί σε οποιαδήποτε γλώσσα με μικρές μόνο τροποποιήσεις για να ταιριάξει τις διαφορές σύνταξη . Οδηγίες
Η

1 Ανοίξτε ένα πρόγραμμα επεξεργασίας κειμένου 2

Επικολλήστε τον παρακάτω κώδικα Java : .

Δημόσια τάξη RecursiveLLTraverser {

δημόσια στατική void traverseList ( LinkedList l ) { }


}

Όλος ο κώδικας θα πάνε στο πλαίσιο της μεθόδου " traverseList " .
εικόνων 3

Επικολλήστε τον ακόλουθο μέσα στη μέθοδο " traverseList " :

αν ( l.size ( ) == 0 ) επιστροφή?

αν ( l.size ( ) > 0 ) {

LinkedList n = l.clone ( ) ?

Object o = n.removeFirst ( ) ?

o.doSomething ( ) ?

traverseList ( n ) ?

}

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

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

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