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

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

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

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

Ελέγξτε για απλές περιπτώσεις ακμής . Εάν ο δείκτης της κεφαλής είναι μηδενική , η λίστα είναι κενή και καμία εργασία πρέπει να γίνει . Αν το επόμενο δείκτη του κεφαλιού είναι null , υπάρχει μόνο ένα στοιχείο στη λίστα , οπότε αναστροφή δεν κάνει τίποτα .

Αν το κεφάλι = null τότε returnif head- > επόμενο = null στη συνέχεια επιστρέφουν
Η 2

προετοιμαστεί τρίποντα : προηγούμενη , τρέχουσα και την επόμενη . " Προηγούμενο " και "τρέχουσα" πρέπει να επισημάνω στον κόμβο της λίστας . "Next " θα πρέπει να επισημανθεί το δεύτερο κόμβο κοιτάζοντας το δείκτη στον κόμβο κεφαλής

δείκτη prev = κεφάλι? . Δείκτη τρέχουσας = κεφάλι? Δείκτης επόμενη = head- > επόμενο ?
Η Φτηνές 3

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

Head- > επόμενο = null
Η 4

Loop στη λίστα αναστροφή των κατεύθυνση των δεικτών . Τα τρίποντα προετοιμαστεί νωρίτερα χρησιμοποιούνται για να παρακολουθείτε την τρέχουσα θέση στη λίστα.

Ενώ επόμενος ! = Null //A null επόμενο δείκτης σημαίνει ότι έχουμε φτάσει στο τέλος της επόμενης listcurrent = //Advance η τρέχουσα pointernext = ρεύματος > επόμενο //Advance το επόμενο pointercurrent - > επόμενο = προηγ //σημείο τον τρέχοντα κόμβο με το προηγούμενο κόμβο , αντιστρέφοντας την linkprev = τρέχουσα //Advance το τελευταίο pointerend ενώ
Η 5

Στρέψτε το κεφάλι σε μεταβλητή νέος επικεφαλής της λίστας .

κεφάλι = τρέχουσα
Η
εικόνων

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

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