Innehållsförteckning:

Gå igenom en länkad lista med rekursion - Java: 12 steg
Gå igenom en länkad lista med rekursion - Java: 12 steg

Video: Gå igenom en länkad lista med rekursion - Java: 12 steg

Video: Gå igenom en länkad lista med rekursion - Java: 12 steg
Video: speller 2024, November
Anonim
Gå igenom en länkad lista med rekursion - Java
Gå igenom en länkad lista med rekursion - Java

Välkommen och tack för att du valde denna instruktionsuppsättning, som visar hur du skapar en rekursiv funktion. Grundläggande java -kunskap behövs för att förstå stegen som kommer att köras igenom.

Sammantaget bör denna 12-stegsprocess inte ta längre tid än 15 minuter. Det enda steget som kan ta längre tid än en minut är steg 4, som ber användaren att skapa ett provtest att köra igenom. Hur lång tid som ska användas är upp till användaren, men jag skulle uppskatta att det inte skulle ta mer än 3 minuter.

Vad du behöver på din dator: Min testfil (som vi lägger till kod till). Vilken java IDE du vill (vi kommer att använda drjava för detta).

Steg 1: Steg ett: Öppna ditt val av Java IDE

Steg ett: Öppna ditt val av Java IDE
Steg ett: Öppna ditt val av Java IDE

För denna instruktionsuppsättning används drjava. Bara ha en ny färsk fil öppen.

Steg 2: Steg två: Ladda ner och öppna min.txt -fil

Denna text innehåller klassen “Nod” vi kommer att arbeta med, samt några tester för att se till att koden vi skriver fungerar som avsett. Ladda ner här

Steg 3: Steg tre: Kopiera och klistra in från.txt -fil i IDE

Steg tre: Kopiera och klistra in från.txt -fil i IDE
Steg tre: Kopiera och klistra in från.txt -fil i IDE

Kopiera texten från min fil och klistra in den i java IDE som du har öppnat.

Steg 4: Steg fyra: Skapa ett test

Steg fyra: Skapa ett test
Steg fyra: Skapa ett test

Detta kommer att kontrollera om vår rekursiva funktion fungerar korrekt. Följ formatet på de givna exempelproven.

Steg 5: Steg fem: Skapa rekursiv funktion

Steg fem: Skapa rekursiv funktion
Steg fem: Skapa rekursiv funktion

Skriv följande om du uppmanas att göra det:

offentlig int -storlek () {}

Steg 6: Steg sex: Skapa rekursiv hjälpfunktion

Steg sex: Skapa rekursiv hjälpfunktion
Steg sex: Skapa rekursiv hjälpfunktion

Om du uppmanas till det skriver du in följande:

offentlig statisk int storlek H (nod x) {}

Steg 7: Steg sju: Samtalshjälpfunktion i huvudrekursiv funktion

Steg sju: Call Helper -funktion i huvudrekursiv funktion
Steg sju: Call Helper -funktion i huvudrekursiv funktion

Detta kommer att få vår funktion att gå igenom den länkade listan från början.

I den första av de funktioner vi skrev skriver du in följande:

returstorlek H (första);

Steg 8: Steg åtta: Skapa basfodral för hjälpfunktion

Steg åtta: Skapa basfodral för hjälpfunktion
Steg åtta: Skapa basfodral för hjälpfunktion

Varje rekursiv funktion måste ha ett sätt att avsluta den. "Basfallet" kommer att få oss att sluta korsa när vi når slutet av listan.

I "hjälp" -funktionen skriver du in följande:

om (x == null) returnerar 0;

Steg 9: Steg nio: Lägg till “+1” och ring hjälpfunktionen igen

Steg nio: Lägg till "+1" och ring hjälpfunktionen igen
Steg nio: Lägg till "+1" och ring hjälpfunktionen igen

Vi lägger till en för varje nod som den rekursiva funktionen besöker.

I "hjälp" -funktionen skriver du in följande:

return 1 + storlek H (x. nästa);

Steg 10: Steg tio: Kompilera / spara din kod

Koden måste sammanställas innan vi kan köra programmet.

Steg 11: Steg elva: Kör programmet

Kör ditt program! Vad var output? Om något gick fel, titta tillbaka och se om du angav koden exakt och på rätt plats.

Steg 12: Steg tolv: Grattis

Steg tolv: Grattis!
Steg tolv: Grattis!

Om detta är din slutliga utdata har du officiellt skrivit en rekursiv funktion som upprepas genom en länkad lista.

Rekommenderad: