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

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

Τρόπος ταξινόμησης μία συνδεδεμένη λίστα σε Java

A συνδεδεμένη λίστα είναι ένα από τα κύρια είδη των δομών δεδομένων στον κόσμο του προγραμματισμού . Είναι μια διάταξη των κόμβων που περιέχει και τα δύο στοιχεία και οι αναφορές που δείχνουν προς τον επόμενο κόμβο . Για να ταξινομήσετε μια συνδεδεμένη λίστα σε Java , υπάρχει μια συνδεδεμένη λίστα τάξη που λειτουργεί με το πλαίσιο Συλλογές που υλοποιεί αλγορίθμους , όπως η διαλογή . Οδηγίες
Ταξινόμηση μια συνδεδεμένη λίστα σε Java
Η 1

κηρύξει την συνδεδεμένη λίστα , δημιουργώντας ένα νέο αντικείμενο LinkedList και την ανάθεση σε μια μεταβλητή LinkedList . LinkedList κληρονομεί από τη γενική κατηγορία λίστας , έτσι ώστε οποιαδήποτε μέθοδο που δέχεται μια λίστα θα δεχθεί επίσης ένα αντικείμενο LinkedList . " " LinkedList l = νέα LinkedList ( ) ? " " 2

Προσθήκη αντικείμενα του ίδιου τύπου ( όπως ακέραιους αριθμούς ) στη λίστα . Αυτά μπορεί να είναι αντικείμενα οποιουδήποτε τύπου , αλλά για να ταξινομήσετε μια συνδεδεμένη λίστα , θα πρέπει να είναι όλα του ίδιου τύπου .
Εικόνων 3

Χρησιμοποιήστε τη μέθοδο List.addFirst για την εισαγωγή νέων αντικειμένων η αρχή της λίστας , έτσι ώστε ό, τι αντικείμενα που προσθέτετε θα είναι με την αντίστροφη σειρά . Αν θέλετε να τα προσθέσετε στο τέλος της λίστας , χρησιμοποιούν τη μέθοδο List.addLast " " list.addFirst ( 1 ) ? List.addFirst ( 3 ) ? List.addFirst ( 2 ) ? " . "
Η 4

Χρησιμοποιήστε ένα Iterator για να μετακινηθείτε πάνω από τη λίστα , και να τις εκτυπώσετε πριν και αργότερα για να δούμε ποια είναι η μέθοδος ταξινόμησης κάνει . " " για ( i = Iterator list.iterator ( ) ? i.hasNext ( ) ? ) { System.out.println ( i.next ( ) ) ? } " "
εικόνων Ταξινόμηση Χρησιμοποιώντας Προεπιλογή και Προσαρμοσμένη συγκριτές
5

Ταξινομήστε τη λίστα με την προεπιλογή σύγκρισης. Ένας συγκριτής είναι ένα αντικείμενο που συγκρίνει δύο αντικείμενα . Το προεπιλεγμένο αντικείμενο σύγκρισης χρησιμοποιεί λιγότερο από το φορέα , έτσι ώστε ο κατάλογος θα πρέπει να ταξινομούνται σε αύξουσα σειρά . Για να ταξινομήσετε τη λίστα , χρησιμοποιήστε τη στατική μέθοδο Collections.sort " " Collections.sort ( λίστα) ? " . "
Η

6 Ταξινόμηση της λίστας με μια προσαρμοσμένη σύγκρισης γράφοντας μια κλάση που υλοποιεί το interface του συγκριτικού και περνάει σε αυτό ένα παράδειγμα ως επιχείρημα για να ταξινομήσετε . Η κλάση που υλοποιεί σύγκρισης έχει μόνο να εφαρμόσει την ενιαία μέθοδο "συγκρίνουν ". " " δημόσια τάξη GreaterThan υλοποιεί Συγκριτικό { @ Overridepublic int συγκρίνετε ( Object arg0 , Object arg1 ) { int x = ( Integer) arg0 ? int y = ( Integer) arg1 ? αν ( x > y ) {επιστροφή -1 ? } else if ( x == y ) { επιστροφή 0? } else { επιστροφή 1 ? } } } " "
Η 7

Χρησιμοποιήστε την κλήση στο Collections.sort περνώντας ένα νέο παράδειγμα για GreaterThan ως δεύτερο επιχείρημα . Δεδομένου ότι τα αντικείμενα που είναι τόσο μεγαλύτερη θα πρέπει να ταξινομούνται πρώτα , ο κατάλογος θα πρέπει να ταξινομούνται σε φθίνουσα σειρά , αντί αύξουσα σειρά . Ως εναλλακτική λύση , εάν είστε διαλογή έναν κατάλογο των αντικειμένων μιας προσαρμοσμένης κατηγορίας που έχετε γράψει τον εαυτό σας , αυτή η κατηγορία μπορεί να υλοποιήσει την Συγκρίσιμα interface αντί να χρησιμοποιεί μια ξεχωριστή κατηγορία Συγκριτικό . " " Collections.sort (κατάλογος , νέα GreaterThan ( ) ) ? " "
Η
εικόνων

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

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