Inhoudsopgave:

Door een gekoppelde lijst bladeren met behulp van recursie - Java - Ajarnpa
Door een gekoppelde lijst bladeren met behulp van recursie - Java - Ajarnpa

Video: Door een gekoppelde lijst bladeren met behulp van recursie - Java - Ajarnpa

Video: Door een gekoppelde lijst bladeren met behulp van recursie - Java - Ajarnpa
Video: speller 2024, November
Anonim
Door een gekoppelde lijst bladeren met behulp van recursie - Java
Door een gekoppelde lijst bladeren met behulp van recursie - Java

Welkom, en bedankt voor het kiezen van deze instructieset, die je laat zien hoe je een recursieve functie kunt maken. Basiskennis van Java is nodig om de stappen te begrijpen die zullen worden doorlopen.

Over het algemeen duurt dit 12-stappenproces niet langer dan 15 minuten. De enige stap die langer dan een minuut kan duren, is stap 4, waarin de gebruiker wordt gevraagd een voorbeeldtest te maken om door te nemen. De hoeveelheid tijd die moet worden gebruikt, is aan de gebruiker, maar ik schat dat het niet meer dan 3 minuten zou duren.

Wat heb je nodig op je computer: Mijn testbestand (waar we code aan toevoegen). Elke java IDE naar keuze (we zullen hiervoor drjava gebruiken).

Stap 1: Stap één: open uw Java IDE naar keuze

Stap één: open uw Java IDE naar keuze
Stap één: open uw Java IDE naar keuze

Voor deze instructieset wordt drjava gebruikt. Open gewoon een nieuw vers bestand.

Stap 2: Stap twee: Download en open mijn.txt-bestand

Deze tekst bevat de klasse "Node" waarmee we zullen werken, evenals enkele tests om ervoor te zorgen dat de code die we schrijven werkt zoals bedoeld. Download hier

Stap 3: Stap drie: kopiëren en plakken van.txt-bestand in IDE

Stap drie: kopiëren en plakken van.txt-bestand in IDE
Stap drie: kopiëren en plakken van.txt-bestand in IDE

Kopieer de tekst uit mijn bestand en plak deze in de java IDE die je hebt geopend.

Stap 4: Stap vier: maak een test

Stap vier: maak een test
Stap vier: maak een test

Hiermee wordt gecontroleerd of onze recursieve functie correct werkt. Volg het formaat van de gegeven voorbeeldtests.

Stap 5: Stap vijf: maak een recursieve functie

Stap vijf: maak een recursieve functie
Stap vijf: maak een recursieve functie

Typ het volgende waar u wordt gevraagd:

openbare int-grootte (){ }

Stap 6: Stap zes: maak een recursieve helperfunctie

Stap zes: een recursieve helperfunctie maken
Stap zes: een recursieve helperfunctie maken

Typ het volgende waar u wordt gevraagd:

public static int sizeH(Node x){ }

Stap 7: Stap zeven: bel de helperfunctie in de hoofdrecursieve functie

Stap zeven: bel de helperfunctie in de hoofdrecursieve functie
Stap zeven: bel de helperfunctie in de hoofdrecursieve functie

Hierdoor zal onze functie vanaf het begin door de gekoppelde lijst gaan.

Typ het volgende in de eerste van de functies die we schreven:

retourneer maatH (eerste);

Stap 8: Stap acht: maak een basisscenario voor de helperfunctie

Stap acht: maak een basisscenario voor de helperfunctie
Stap acht: maak een basisscenario voor de helperfunctie

Elke recursieve functie moet een manier hebben om deze te beëindigen. Het "basisscenario" zorgt ervoor dat we stoppen met doorkruisen zodra we het einde van de lijst hebben bereikt.

Typ in de functie "helper" het volgende:

if (x == null) retourneer 0;

Stap 9: Stap negen: voeg "+1" toe en bel de helperfunctie opnieuw

Stap negen: voeg "+1" toe en bel de helperfunctie opnieuw
Stap negen: voeg "+1" toe en bel de helperfunctie opnieuw

We voegen er één toe voor elk knooppunt dat de recursieve functie bezoekt.

Typ in de functie "helper" het volgende:

retourneer 1 + maatH(x.volgende);

Stap 10: Stap tien: compileer / bewaar uw code

De code moet worden gecompileerd voordat we het programma kunnen uitvoeren.

Stap 11: Stap elf: voer het programma uit

Voer je programma uit! Wat was de output? Als er iets mis is gegaan, kijk dan terug en kijk of je de code precies en op de goede plek hebt ingevoerd.

Stap 12: Stap Twaalf: Gefeliciteerd

Stap twaalf: gefeliciteerd!
Stap twaalf: gefeliciteerd!

Als dit je uiteindelijke uitvoer is, heb je officieel een recursieve functie geschreven die door een gekoppelde lijst itereert.

Aanbevolen: