Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Come eliminare una stringa da una lista doppiamente concatenata in Java

Il linguaggio di programmazione Java è dotato di una serie di strutture di dati inclusi come elenchi o dizionari collegate . Tuttavia , è possibile che a un certo punto vogliono creare le proprie implementazioni di strutture di dati in base alle proprie specifiche finalità . Questo significa anche attuare le proprie funzioni di base per la struttura dei dati , tra cui l'inserimento e funzioni di cancellazione . Nel caso di una lista doppia contenente valori stringa , questa è una questione di assicurare che si trova il nodo contenente la stringa e collegando gli elementi prima e dopo l'elemento eliminato per mantenere la struttura della lista . Cose che ti serviranno
Java Development Kit ( JDK ) per Editor di testo o ambiente di sviluppo integrato ( IDE ) economici Mostra più istruzioni
1

individuare il nodo della lista collegata si sta rimuovendo . In questo esempio , i nodi della lista doppiamente collegata sono rappresentati dai dati voce " ListItem ", che contiene una stringa ( memorizzati come " valore ") e due riferimenti ad altre ListItems : un " precedente " ad esso e un "dopo" nella lista . Le " FindItem " attraversa funzione l'elenco fino a trovare il nodo che contiene il valore stringa , restituendo un riferimento a tale nodo :

pubblico ListItem FindItem ( String parola ) {

ListItem corrente = testa corrente

ritorno ; ; //capo della lista

mentre ( current.value = parola!) {current = current.next } ; }
2

creare lo scheletro di una funzione per rimuovere il nodo . Questa funzione si chiama " FindItem " per individuare il nodo :

public void DeleteItem ( String parola ) {

ListItem rimozione = FindItem (parola) ;

}

3

modificare la funzione " DeleteItem " per collegare il nodo precedente al nodo seguente . Per garantire che la lista doppiamente collegata rimane intatto , il nodo precedente deve essere collegato al resto della lista dopo il nodo :

public void DeleteItem ( String parola ) {

ListItem rimozione = FindItem (parola) ; removing.previous.after = removing.after ; //il nodo precedente, ora i collegamenti alle seguenti nodo }
4

modificare la funzione " DeleteItem " per collegare il seguente nodo alla nodo precedente . Per completare il collegamento e mantenere la lista come una doppia lista collegata , seguente nodo del nodo eliminato ha ora bisogno di un collegamento al nodo precedente del nodo eliminato :

public void DeleteItem ( String parola ) {

ListItem rimozione = FindItem (parola) ;

removing.previous.after = removing.after ; removing.after.previous = removing.previous ; //seguente nodo ora collega al nodo precedente }

5

eliminare il nodo :

public void DeleteItem ( String parola ) {

ListItem rimozione = FindItem (parola) ;

removing.previous.after = removing.after ; removing.after.previous = removing.previous ;

rimozione = null; }

 

Programmazione © www.354353.com