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

Come per rilevare una circolarità in una lista concatenata in Java

Il linguaggio di programmazione Java contiene molti built-in strutture di dati quali tabelle hash e la lista collegata. Tuttavia, potrebbe essere utile per implementare il proprio specifico tipo di struttura dei dati in base alle vostre esigenze . A causa di questo spesso si consiglia di creare i propri metodi per definire la funzionalità della struttura dati . Mentre la costruzione di una lista collegata si potrebbe desiderare di determinare se la lista è circolare . Una lista circolare è quello in cui la fine della lista rimanda indietro all'inizio della lista . Controllare per questo è semplice come navigare l'elenco e determinare se o non si ritorna all'inizio della lista . Cose che ti serviranno
Java Development Kit ( JDK ) per l'editor di testo
Mostra più istruzioni
1

creare una funzione per verificare la lista di circolarità . Questa funzione restituisce "true" se la lista è circolare , e "False" in caso contrario . Definire questa funzione all'interno della classe lista :
classe

LL {

public boolean isCircular ( ) { } }
2

creare un ciclo nella funzione per attraversare il lista. Il ciclo inizierà a capo della funzione , e passare attraverso ogni nodo l'intero elenco , rappresentato dal tipo di dati "Nodo " , fino a raggiungere "null" ( la fine della lista ) :

public boolean isCircular ( ) {

nodo corrente = head.next ; //inizia in corrispondenza del nodo successivo alla testa nodo

while ( corrente = null ) { } }


3

utilizzare il ciclo di controllare ogni nodo della lista . Se il nodo corrente è il nodo principale , il che significa che il ciclo ha attraversato l'intera lista e liquidazione indietro all'inizio, il che significa che la lista è circolare . Se il ciclo colpisce un valore "null" l'elenco non è circolare :

public boolean isCircular ( ) {

nodo corrente = head.next ; //inizia in corrispondenza del nodo successivo alla testa nodo

while ( corrente = null ) { if ( corrente == testa ) {return true;} restituirà False ; } }

 

Programmazione © www.354353.com