Δημοσιεύτηκε: 21 Ιούλ 2011, 21:59
από migf1
Όχι, δεν χρειάζεται το 6ο μέρος. Βασικά αυτό που χρειάζεται είναι να μη βιαστείς και να μην υποτιμήσεις τη συνάρτηση. Κάτσε κάποια στιγμή που θα έχεις χρόνο και καθαρό μυαλό, πάρε από δίπλα κι ένα τετραδιάκι και σχεδίασε τη λίστα σου για να δεις τι ακριβώς πρέπει να κάνεις για να διαγράψεις έναν κόμβο από τη μέση της.

Π.χ. κάτι σαν αυτό εδώ
Εικόνα

ή αν μιλάμε για τις δομές του 5ου και του 6ου μέρους, τότε κάτι σαν αυτό εδώ:
Εικόνα

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

Σου δίνει και κώδικα σε Java και C++, προσπάθησε τουλάχιστον να τον προσαρμόσεις στα ονόματα και τις δομές που έχουμε αναλύσει στα tutorials (κατά προτίμηση του 5ου μέρους).

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

Στον δικό μου κώδικα θα τα κάνουμε όλα σε μια συνάρτηση ;)