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

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

Πώς να Διαγραφή String Από Διπλά Συνδεδεμένες Κατάλογος σε Java

Η γλώσσα προγραμματισμού Java έρχεται με μια σειρά περιλαμβάνονται δομών δεδομένων, όπως συνδεδεμένες λίστες ή λεξικά . Ωστόσο , ίσως κάποια στιγμή θέλετε να δημιουργήσετε τις δικές σας εφαρμογές των δομών δεδομένων για να ταιριάζει στο δικό σας συγκεκριμένους σκοπούς . Αυτό σημαίνει, επίσης, την εφαρμογή της δικής σας βασικές λειτουργίες για τη δομή των δεδομένων , συμπεριλαμβανομένων των λειτουργιών εισαγωγής και διαγραφής . Στην περίπτωση ενός διπλά συνδεδεμένη λίστα που περιέχουν τις τιμές συμβολοσειράς , αυτό είναι ένα θέμα να εξασφαλιστεί ότι θα βρει τον κόμβο που περιέχει το string και συνδέει τα στοιχεία πριν και μετά το διαγραμμένο στοιχείο για τη διατήρηση της δομής του καταλόγου . Τα πράγματα που θα χρειαστείτε
Java Development Kit ( JDK )
πρόγραμμα επεξεργασίας κειμένου ή Integrated Development Environment ( IDE )
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Εντοπίστε τον κόμβο της συνδεδεμένη λίστα που καταργείτε . Σε αυτό το παράδειγμα , οι κόμβοι του διπλά συνδεδεμένη λίστα που αντιπροσωπεύεται από το στοιχείο δεδομένων " listItem ", το οποίο περιέχει μια συμβολοσειρά ( αποθηκεύονται ως "αξία" ) και δύο αναφορές σε άλλα ListItems : μία "προηγούμενη" σε αυτό και ένα " μετά " είναι στη λίστα. Η λειτουργία " FindItem " διατρέχει τη λίστα μέχρι να βρουν τον κόμβο που περιέχει την τιμή συμβολοσειράς , επιστρέφει μια αναφορά σε αυτόν τον κόμβο :

δημόσια listItem FindItem ( String λέξη ) {

listItem τρέχουσες = κεφαλή ? //κεφαλή της λίστας

ενώ ( current.value = λέξη ! ) { ρεύμα = current.next ? }

επιστροφής ρεύματος ? } 2

Δημιουργήστε το σκελετό μιας συνάρτησης για να αφαιρέσετε τον κόμβο . Αυτή η λειτουργία θα καλέσει " FindItem " για να εντοπίσετε τον κόμβο :

DeleteItem δημόσια άκυρη ( String λέξη ) {

listItem αφαίρεση = FindItem ( λέξη ) ?

}

Η 3

Τροποποιήστε τη λειτουργία " DeleteItem " για να συνδέσουν το προηγούμενο κόμβο στον ακόλουθο κόμβο . Για να εξασφαλιστεί ότι η διπλά συνδεδεμένη λίστα παραμένει αδιάσπαστη , το προηγούμενο κόμβο πρέπει να συνδέεται με το υπόλοιπο του καταλόγου μετά από τον κόμβο :

DeleteItem δημόσια άκυρη ( String λέξη ) {

listItem αφαίρεση = FindItem ( λέξη ) ? removing.previous.after = removing.after ? //ο προηγούμενος κόμβος συνδέει με το ακόλουθο κόμβο }
Η 4

Τροποποιήστε τη λειτουργία " DeleteItem " για να συνδέσουν το ακόλουθο κόμβο στο προηγούμενο κόμβο . Για να ολοκληρώσετε τη σύνδεση και τη διατήρηση της λίστας ως διπλά συνδεδεμένη λίστα , μετά από τον κόμβο του διαγράφεται κόμβου πρέπει τώρα να συνδέσει πίσω στον προηγούμενο κόμβο του διαγράφεται κόμβου :

public void DeleteItem ( String λέξη ) {

listItem αφαίρεση = FindItem ( λέξη ) ?

removing.previous.after = removing.after ? removing.after.previous = removing.previous ? //ακόλουθο κόμβο συνδέει με τον προηγούμενο κόμβο }

5

Διαγραφή του κόμβου :

DeleteItem δημόσια άκυρη ( String λέξη ) {

listItem αφαίρεση = FindItem ( λέξη ) ?

removing.previous.after = removing.after ? removing.after.previous = removing.previous ?

αφαίρεση = null? }
Η
εικόνων

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

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