Έχω κάποια απορία με τον κώδικα που περιγράφεται στο βιβλίο καθηγητή σελίδα 95.
Έχω 2 κόμβους τον P και τον q. Και θέλω να εφαρμόσω τη λειτουργία της εισαγωγής κόμβου ανάμεσα. Ο καινούριος κόμβος έχει όνομα Χ.
Σε κάθε κόμβο διακρίνω το .info κομμάτι και το .next κομμάτι. Αν λοιπόν γράψω:
Διάβασε data
Χ.info <-- data
P.next <-- X
X.next <-- q
Θα είναι σωστός ο κώδικας ή όχι;
ΕΚΤΟΣ ΥΛΗΣ!!!
Όλα να τα περιμένεις!! ;)
Επιμένω αν γνωρίζει κάποιος ...Σ ή Λ αυτό που έγραψα
Προφανώς είναι λάθος. Και αυτό γιατί το p.next χάθηκε μόλις του έδωσες τιμή. Πρέπει πρώτα να το αντιγράψεις στο νέο Χ.next και μετά να ανανεώσεις το p.next.
Φαίνεται σωστό επειδή τα p, X,q τα προσεγγίζεις χωρίς χρήση δεικτών...θα μπορούσες να σβήσεις εντελώς το next πεδίο ή όπως θες να το πεις....
Ευχαριστώ για τις παρατηρήσεις.
Θα το ξανά κοιτάξω.
Παράθεση από: nikolasmer στις 22 Αυγ 2015, 06:04:57 ΜΜ
Έχω κάποια απορία με τον κώδικα που περιγράφεται στο βιβλίο καθηγητή σελίδα 95.
Έχω 2 κόμβους τον P και τον q. Και θέλω να εφαρμόσω τη λειτουργία της εισαγωγής κόμβου ανάμεσα. Ο καινούριος κόμβος έχει όνομα Χ.
Σε κάθε κόμβο διακρίνω το .info κομμάτι και το .next κομμάτι. Αν λοιπόν γράψω:
Διάβασε data
Χ.info <-- data
P.next <-- X
X.next <-- q
Θα είναι σωστός ο κώδικας ή όχι;
Διάβασε data
X.info <--data
X.next = p.next //X.next = q
p.next = x;
Παράθεση από: morfeus στις 22 Αυγ 2015, 09:25:22 ΜΜ
Διάβασε data
X.info <--data
X.next = p.next //X.next = q
p.next = x;
Θανάση Ευχαριστώ για τη διόρθωση!
Μιας και ο συμβολισμός πχ P.next δεν γίνεται να εξηγηθεί με τίποτα μέσα στα πλαίσια της ύλης μας (και μόνο το ότι θα μιλήσουμε για pointers ουρανοκατέβατο είναι), ελπίζω ότι όλα αυτά είναι εκτός και θα ασχοληθώ μόνο με λεκτική περιγραφή των λειτουργιών και όχι με κώδικες.