La struttura dati lista collegata è una potente alternativa alle matrici semplici . Differenza degli array , i dati possono essere rapidamente aggiunti e rimossi da una lista collegata senza ricreare la lista un elemento alla volta. Tuttavia, a differenza di array , i dati in una lista collegata possono essere raggiunte solo in ordine. È possibile farlo con un semplice loop o con una funzione ricorsiva ( o auto -chiamata ) . Questo sarà scritto in Java , ma il codice può essere implementato in qualsiasi linguaggio con solo piccole modifiche per soddisfare le differenze di sintassi . Istruzioni .
1
Aprire un editor di testo
2
Incollare il seguente codice Java :
class RecursiveLLTraverser pubblico {
public static vuoto traverseList ( LinkedList l) { }
}
Tutto il codice andrà all'interno del metodo " traverseList " .
3 < p > Incolla il seguente nel metodo " traverseList " :
se ( l.size ( ) == 0 ) return;
se ( l.size ( ) > 0 ) {
LinkedList n = l.clone ();
Object o = n.removeFirst ();
o.doSomething ();
traverseList ( n ) ;
}
Questo richiede una lista concatenata e fa un clone di esso poco profondo con il primo elemento rimosso ( e un po 'di elaborazione eseguita su di esso ) Questo clone viene poi fatto passare attraverso la lista trasversale . stesso. Alla fine, il clone sarà vuota , nel qual caso il metodo List traversata restituirà semplicemente .