länklistan datastruktur är ett kraftfullt alternativ till enkla matriser . Till skillnad arrayer kan data snabbt till och tas bort från en länkad lista utan att återskapa listan ett element i taget . Men till skillnad från arrayer , kan data i en länkad lista endast nås i ordning. Du kan göra detta med en enkel slinga eller med en rekursiv ( eller egen kallelse ) funktionen . Detta kommer att skrivas i Java , men koden kan implementeras i alla språk med endast mindre modifieringar för att passa syntax skillnader . . Instruktioner
1
Öppna en textredigerare
2
Klistra in följande Java-kod :
public class RecursiveLLTraverser {
public static void traverseList ( LinkedList l ) {
}
}
All kod kommer att gå inom " traverseList " metoden .
3
Klistra in följande innanför " traverseList " metoden :
om ( l.size ( ) == 0 ) return ;
om ( l.size ( ) > 0 ) {
LinkedList n = l.clone ();
Object o = n.removeFirst ();
o.doSomething ();
traverseList ( n ) ;
}
Detta tar en länkad lista och gör en ytlig klon av det med det första elementet bort ( och några som utförs på det ) Denna klon sedan körs genom polygontåglistan . själv. Så småningom kommer klonen vara tom , i vilket fall polygontåglistan metoden kommer bara tillbaka .