DDevil Δημοσ. 24 Οκτωβρίου 2015 Δημοσ. 24 Οκτωβρίου 2015 Κωδικα με τριπλοτετραπλους δεν εχω ψαξει ειναι πονοκεφαλος και δεν ξερω ποσο συνηθισμενοι ειναι. Αρκετα χρησιμοι ειναι οι διπλοι παντως οταν παιζεις με λιστες για να μπορει μια συναρτηση να μετακινησει τον δεικτη που εχει περαστει με αναφορα σαν διπλος. 1
pavlos1908 Δημοσ. 24 Οκτωβρίου 2015 Μέλος Δημοσ. 24 Οκτωβρίου 2015 Στην java σε μια λίστα πως πάμε στον επόμενο κόμβο; πχ στην C είπατε με διπλους δέικτες δεικτες. Μόλις καταλήξω σε ποια από τις γλώσσες θα πάω θα το γράψω εδώ να πω το σκεπτικό μου.
gon1332 Δημοσ. 24 Οκτωβρίου 2015 Δημοσ. 24 Οκτωβρίου 2015 Στην java σε μια λίστα πως πάμε στον επόμενο κόμβο; πχ στην C είπατε με διπλους δέικτες δεικτες. Μόλις καταλήξω σε ποια από τις γλώσσες θα πάω θα το γράψω εδώ να πω το σκεπτικό μου. Στη Java, στην κλάση των κόμβων της λίστας θα έχεις references σε κλάσεις του ίδιου τύπου. Σωστός; Σωστός; Στη C δε χρειάζεσαι διπλούς δείκτες γι'αυτό το πράγμα. Αναλόγως και την υλοποίηση βέβαια.
Aztec Δημοσ. 24 Οκτωβρίου 2015 Δημοσ. 24 Οκτωβρίου 2015 Εγω απορώ ποιο είναι το πρόβλημα όσον αφορά τις δομές της java. Μια μελέτη στην standard υλοποίηση, copy paste και τροποποίηση δίνει μια αξιοπρεπέστατη λύση που θα οδηγήσει και στην κατανόηση
groot Δημοσ. 24 Οκτωβρίου 2015 Δημοσ. 24 Οκτωβρίου 2015 Κωδικα με τριπλοτετραπλους δεν εχω ψαξει ειναι πονοκεφαλος και δεν ξερω ποσο συνηθισμενοι ειναι. Αρκετα χρησιμοι ειναι οι διπλοι παντως οταν παιζεις με λιστες για να μπορει μια συναρτηση να μετακινησει τον δεικτη που εχει περαστει με αναφορα σαν διπλος. Αχμ... ναι. Τριπλός δείκτης είναι πολύ συνηθισμένο πράγμα, ιδιαίτερα όταν έχεις 2D arrays στην C. Οπότε, το να αναρωτιέται κανείς πόσο συνηθισμένος είναι ο 3πλος δείκτης... ε.. κάτι δείχνει. Εγω απορώ ποιο είναι το πρόβλημα όσον αφορά τις δομές της java. Μια μελέτη στην standard υλοποίηση, copy paste και τροποποίηση δίνει μια αξιοπρεπέστατη λύση που θα οδηγήσει και στην κατανόηση Μωρέ... κανένα δεν είναι το πρόβλημα. Το θέμα είναι ότι με την C θα έχει την ευκαιρία να δει και λίγο "under the hood". Και δεν είναι ότι πρέπει να παραδώσει το project στον πελάτη. Φοιτητής είναι και άρα δίνει χρόνο για να μάθει (=φοιτητής). Οπότε, γιατί να μην κάτσει να το δει με την C; Οι πιθανότητες να το κάνει ξανά με C στην ζωή του είναι πολύ λιγότερες από το να το κάνει με python, Java, C++, C#, php. Αλλά, με την C θα χειριστεί μόνος του την μνήμη. Μόνος του θα κάνει τις συνδέσεις στην λίστα. Θα καταλάβει την εγγενή διαφορά της στοίβας από την ουρά ή γιατί (τελικά) λέει η διπλά συνδεδεμένη λίστα. Αλλά θα το καταλάβει όχι βλέποντας ένα documentation να του λέει "με απλά συνδεδεμένη λίστα δεν μπορείς να κάνεις το τάδε" ή σχόλια στο S.O. να λένε "με απλά συνδεδεμένη λίστα ο τάδε χρόνος είναι μεγαλύτερος". Θα το καταλάβει επειδή το έκανε μόνος του και ξέρει... από μέσα.
ZAKKWYLDE Δημοσ. 24 Οκτωβρίου 2015 Δημοσ. 24 Οκτωβρίου 2015 Αλλά, με την C θα χειριστεί μόνος του την μνήμη. Μόνος του θα κάνει τις συνδέσεις στην λίστα. Θα καταλάβει την εγγενή διαφορά της στοίβας από την ουρά ή γιατί (τελικά) λέει η διπλά συνδεδεμένη λίστα. Αλλά θα το καταλάβει όχι βλέποντας ένα documentation να του λέει "με απλά συνδεδεμένη λίστα δεν μπορείς να κάνεις το τάδε" ή σχόλια στο S.O. να λένε "με απλά συνδεδεμένη λίστα ο τάδε χρόνος είναι μεγαλύτερος". Θα το καταλάβει επειδή το έκανε μόνος του και ξέρει... από μέσα. Και με την Java το ίδιο ακριβώς θα κάνει, μόνος του θα κάνει τις συνδέσεις στη λίστα. Το ίδιο ισχύει για τις στοίβες και τις ουρές. Η μόνη διαφορά είναι ότι θα κάνει malloc αντί για new και θα χρειαστεί να κάνει free στο removeNode...άρα η μόνη διαφορά είναι η διαχείρηση μνήμης που δεν είναι ο αντικειμενικός σκοπός της άσκησης.
pavlos1908 Δημοσ. 26 Οκτωβρίου 2015 Μέλος Δημοσ. 26 Οκτωβρίου 2015 Λοιπον αποφασισα τελικα να κανω το project σε Java. Ο κυριοτερος λογος ειναι οτι οπως ειπαν αρκετοι, θεωρω οτι θα γραψω καλυτερο κωδικα εκει, και λογω του οτι ειναι σχετικα μικρο το χρονικο περιθωριο που εχω (μεχρι τις 15) μαζι με αλλες ασκησεις/project που τρεχουν ταυτοχρονα, δεν ξερω αν θα προλαβαινα με C και να καλυψω τα κενα και τις δυσκολιες μου με pointers και διαχειριση μνημης, και να παραδωσω μια αξιοπρεπη λυση. Οποτε, Java και μολις εχω ελευθερη περιοδο θα κοιταξω να καλυψω μονος μου τα κενα της C. Αν εχει καποιος link σχετικα με δομες δεδομενων και υλοποιηση σε Java θα το εκτιμουσα δεοντος ωστε να εχω εναν αρχικο μπουσουλα. Ευχαριστω ολους για τις απαντησεις!
groot Δημοσ. 26 Οκτωβρίου 2015 Δημοσ. 26 Οκτωβρίου 2015 Οποτε, Java και μολις εχω ελευθερη περιοδο θα κοιταξω να καλυψω μονος μου τα κενα της C. Πότε δεν θα το κάνεις... έτσι είπανε πολλοί.. Ναι, με Java θα γράψεις πιο ωραίο κώδικα και θα επικεντρωθείς στην καθαυτού δομή δεδομένων. Αλλά είναι λίγες οι ευκαιρίες που έχεις να κάτσεις να ασχοληθείς με C χωρίς να σε πιέζει ο πελάτης/project manager/cto και να μάθεις και κάτι. Με ένα απλό google search: "implement queue on java" θα πάρεις πολλά αποτελέσματα. 1
Aztec Δημοσ. 26 Οκτωβρίου 2015 Δημοσ. 26 Οκτωβρίου 2015 Για linked list μπορείς να δεις εδώ Επειδή υλοποιεί πολλά interfaces δεν σου χρειάζονται τα περισσότερα. Απλά θα φτιάξεις μια short version βάσει όσων θέλεις. Μπορείς ακόμα και να μην χρησιμοποιήσεις Generics Problem solved in no time 1
pavlos1908 Δημοσ. 27 Οκτωβρίου 2015 Μέλος Δημοσ. 27 Οκτωβρίου 2015 Πότε δεν θα το κάνεις... έτσι είπανε πολλοί.. Θελω δε θελω θα ασχοληθω σε επομενα μαθηματα με C οπως μου ειπε ενα παλικαρι συμφοιτητης μεγαλυτερου ετους, οποτε να σαι σιγουρος οτι θα καλυψω τις δυσκολιες μου απο πριν, γιατι δεν ψηνομαι οταν τρεχει το project να τις καλυψω τωρα. Ειμαι αρκετα πιεστικος προς τον εαυτο μου, οποτε καταλαβαινεις
the other one Δημοσ. 27 Οκτωβρίου 2015 Δημοσ. 27 Οκτωβρίου 2015 Το καλό με τη java είναι πως είναι καθαρή oop που σημαίνει πως θες δε θες θα το γράψεις υπό μορφή module. η C σου δίνει τεράστια ελευθερία που δεν είναι πάντα καλό. C πρέπει να ξέρει ΚΑΘΕ πρωτοετής πανεπιστημίου πληροφορικής από τη στιγμή που έχεις πάρει κάποιες βάσεις μπορείς να προχωρήσεις χωρίς να πονοκεφαλιάζεις χωρίς λόγο. Άλλο όμως να μιλάμε για πρώτα έτη κι άλλο γενικά. // Ναι είναι ανόητο να σου απαγορεύει κάποιος να πάρεις κάτι που σίγουρα θα υπάρχει έτοιμο αλλά οκ το θέμα είναι να μάθεις μη πας κατευθείαν να τα παρεις όλα έτοιμα δεν υπάρχει λόγος. Στον προγραμματισμό δεν αρκεί να καταλάβεις το concept αν δεν γράψεις δεν... 2
groot Δημοσ. 27 Οκτωβρίου 2015 Δημοσ. 27 Οκτωβρίου 2015 Το καλό με τη java είναι πως είναι καθαρή oop Τσου. Δεν είναι. Έχει int και έχει και Integer (π.χ.). Αυτό, και αυτομάτως, την κάνει ΜΗ καθαρή. Βρομιάρα Java...
DDevil Δημοσ. 27 Οκτωβρίου 2015 Δημοσ. 27 Οκτωβρίου 2015 // Ναι είναι ανόητο να σου απαγορεύει κάποιος να πάρεις κάτι που σίγουρα θα υπάρχει έτοιμο αλλά οκ το θέμα είναι να μάθεις μη πας κατευθείαν να τα παρεις όλα έτοιμα δεν υπάρχει λόγος. Στον προγραμματισμό δεν αρκεί να καταλάβεις το concept αν δεν γράψεις δεν... Μπορει να θέλουν μετα να το παρουσιασουν ως δική τους δουλειά φιλε Ναι γιατι ενδιαφερει πολυ τους καθηγητες του πανεπιστημιου αμα μάθεις εκτος απο ελάχιστους οι άλλοι χέστηκαν με το συμπάθειο.
the other one Δημοσ. 28 Οκτωβρίου 2015 Δημοσ. 28 Οκτωβρίου 2015 Τσου. Δεν είναι. Έχει int και έχει και Integer (π.χ.). Αυτό, και αυτομάτως, την κάνει ΜΗ καθαρή. Βρομιάρα Java... εντάξει τι να πει και η C++ τότες οκ καθαρά καθαρή δεν είναι, σωστά. Αλλά είναι αρκετά πιο κοντά στο στυλ που θα χρειαστεί να γράφει σε 5-6 χρόνια. Μπορει να θέλουν μετα να το παρουσιασουν ως δική τους δουλειά φιλε Ναι γιατι ενδιαφερει πολυ τους καθηγητες του πανεπιστημιου αμα μάθεις εκτος απο ελάχιστους οι άλλοι χέστηκαν με το συμπάθειο. μα δεν το κάνεις για τον καθηγητή για σένα το κάνεις. Πίστεψέ με κανείς δε θέλει να πάει ξέρω γω τριτο έτος και να μη ξέρει να στήσει μια υλοποίηση διπλά συνδεδεμένης λίστας ας πούμε.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα