Ogni lista collegata ha come componente di un " nodo ", che contiene sia i dati che vengono memorizzati e una variabile che fa riferimento al prossimo elemento della lista . Alcuni elenchi più complessi contengono nodi che fanno riferimento a più altri nodi , ma per la lista di base , il riferimento indica soltanto al nodo successivo nella lista. . I dati memorizzati nella lista possono essere di qualsiasi tipo
Linked List Classe
In Java , una lista collegata conterrà , come minimo , due classi : la principale classe lista , e una classe nodo . L'esempio seguente illustra questa differenza. In questo elenco , la classe nodo risiede come membro privato della classe lista, in modo che solo l'elenco può manipolare nodi . Per consentire a un utente di aggiungere o rimuovere elementi , deve passare attraverso l'interfaccia della classe : class LLIST pubblica {
privato Node classe statica { int data ; nodo successivo ; }
}
inserimento nella lista
Ogni lista avrà un metodo di inserimento. Questo metodo avrà un valore utente , in questo caso un numero intero , e inserire un nodo contenente tale valore lungo l'elenco . Ciò significa anche che ogni lista conterrà una semplice variabile che rappresenterà un nodo di testa, in modo che la lista sa quando è vuoto o quando l'utente si trova all'inizio della lista : testa nodo = null;
vuoto insertNode pubblico ( int value ) {
nodo temp = new Node ( ) ; new.data = value;
if ( testa == null) { testa = temperatura ; temp.next = null; }
else { nodo corrente = testa ;
mentre ( current.next = null ) { corrente == current.next ; }
current.next = temperatura ; temp.next = null; }
di togliere dal listino
Rimozione dalla lista è un po 'più complicato . In un elenco semplice , l' utente sarà solo aggiungere sull'estremità della lista . Con la rimozione , può rimuovere un nodo da mezzo. In questo caso , il programmatore deve assicurare che l'elenco rimane coerente assicurandosi nodo precedente al nodo rimosso riferisce al nodo dopo nodo rimosso : void removeNode pubblica ( int value) {
if ( testa! = null ) { nodo corrente = head.next ; sentiero nodo = testa ;
while ( corrente = null && current.data = value) { percorso = corrente ; ! corrente = current.next ; }
se ( current.data == valore ) { trail.next = current.next ; corrente = null; return; } else if ( corrente == null) { System.out.println ( " Elemento non nella lista " ) ; return; } } }
Programmazione © www.354353.com