Αποστολέας Θέμα: Λειτουργίες σε Λίστα  (Αναγνώστηκε 1415 φορές)

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 567
  • There can be only one...may it be AEPP.
Λειτουργίες σε Λίστα
« στις: 22 Αυγ 2015, 06:04:57 μμ »
Έχω κάποια απορία με τον κώδικα που περιγράφεται στο βιβλίο καθηγητή σελίδα 95.
Έχω 2 κόμβους τον P και τον q. Και θέλω να εφαρμόσω τη λειτουργία της εισαγωγής κόμβου ανάμεσα. Ο καινούριος κόμβος έχει όνομα Χ.
Σε κάθε κόμβο διακρίνω το .info κομμάτι και το .next κομμάτι. Αν λοιπόν γράψω:
Κώδικας: [Επιλογή]
Διάβασε data
Χ.info <-- data   
P.next <-- X
X.next <-- q
Θα είναι σωστός ο κώδικας ή όχι;
Μερεντίτης Νικόλαος
Πληροφορικός

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2319
Απ: Λειτουργίες σε Λίστα
« Απάντηση #1 στις: 22 Αυγ 2015, 06:07:43 μμ »
ΕΚΤΟΣ ΥΛΗΣ!!!
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 567
  • There can be only one...may it be AEPP.
Απ: Λειτουργίες σε Λίστα
« Απάντηση #2 στις: 22 Αυγ 2015, 06:10:44 μμ »
Όλα να τα περιμένεις!! ;)

Επιμένω αν γνωρίζει κάποιος ...Σ ή Λ αυτό που έγραψα
Μερεντίτης Νικόλαος
Πληροφορικός

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 559
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Λειτουργίες σε Λίστα
« Απάντηση #3 στις: 22 Αυγ 2015, 08:26:19 μμ »
Προφανώς είναι λάθος. Και αυτό γιατί το p.next χάθηκε μόλις του έδωσες τιμή. Πρέπει πρώτα να το αντιγράψεις στο νέο Χ.next και μετά να ανανεώσεις το p.next.
Φαίνεται σωστό επειδή τα p, X,q τα προσεγγίζεις χωρίς χρήση δεικτών...θα μπορούσες να σβήσεις εντελώς το next  πεδίο  ή όπως θες να το πεις....

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 567
  • There can be only one...may it be AEPP.
Απ: Λειτουργίες σε Λίστα
« Απάντηση #4 στις: 22 Αυγ 2015, 08:57:05 μμ »
Ευχαριστώ για τις παρατηρήσεις.
Θα το ξανά κοιτάξω.
Μερεντίτης Νικόλαος
Πληροφορικός

tdrivas

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 657
  • κάποτε έκαιγαν βιβλία,τώρα καίνε μυαλά...
Απ: Λειτουργίες σε Λίστα
« Απάντηση #5 στις: 22 Αυγ 2015, 09:25:22 μμ »

Έχω κάποια απορία με τον κώδικα που περιγράφεται στο βιβλίο καθηγητή σελίδα 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;
Thanassis Drivas
BSc in Computer Science
MSc in Space Science Applications and Technologies

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 567
  • There can be only one...may it be AEPP.
Απ: Λειτουργίες σε Λίστα
« Απάντηση #6 στις: 22 Αυγ 2015, 09:55:26 μμ »
Διάβασε data
X.info <--data
X.next = p.next //X.next = q
p.next = x;
Θανάση Ευχαριστώ για τη διόρθωση!
Μερεντίτης Νικόλαος
Πληροφορικός

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 947
Απ: Λειτουργίες σε Λίστα
« Απάντηση #7 στις: 26 Νοε 2015, 12:45:56 μμ »
Μιας και ο συμβολισμός πχ  P.next  δεν γίνεται να εξηγηθεί με τίποτα μέσα στα πλαίσια της ύλης μας (και μόνο το ότι θα μιλήσουμε για pointers ουρανοκατέβατο είναι), ελπίζω ότι όλα αυτά είναι εκτός και θα ασχοληθώ μόνο με λεκτική περιγραφή των λειτουργιών και όχι με κώδικες.
Φιλικά,
Γιώργος Θαλασσινός