INHOUDSOPGAWE:

Gaan deur 'n gekoppelde lys met behulp van rekursie - Java: 12 stappe
Gaan deur 'n gekoppelde lys met behulp van rekursie - Java: 12 stappe

Video: Gaan deur 'n gekoppelde lys met behulp van rekursie - Java: 12 stappe

Video: Gaan deur 'n gekoppelde lys met behulp van rekursie - Java: 12 stappe
Video: CS50 2013 - Week 4 2024, November
Anonim
Gaan deur 'n gekoppelde lys met behulp van rekursie - Java
Gaan deur 'n gekoppelde lys met behulp van rekursie - Java

Welkom, en dankie dat u hierdie instruksiestel gekies het, wat u sal wys hoe u 'n rekursiewe funksie kan skep. Basiese java -kennis is nodig om die stappe te verstaan wat deurloop word.

Oor die algemeen behoort hierdie 12-stap-proses nie langer as 15 minute te neem nie. Die enigste stap wat langer as een minuut kan neem, is stap 4, wat die gebruiker vra om 'n voorbeeldtoets te maak om deur te voer. Die hoeveelheid tyd wat dit moet gebruik, is aan die gebruiker, maar ek skat dat dit nie langer as 3 minute sal neem nie.

Wat u op u rekenaar benodig: My toetslêer (waarby ons kode sal voeg). Enige java IDE van u keuse (ons sal drjava hiervoor gebruik).

Stap 1: Stap een: Maak u Java IDE van keuse oop

Stap een: Maak u Java IDE van keuse oop
Stap een: Maak u Java IDE van keuse oop

Vir hierdie instruksieset word drjava gebruik, net 'n nuwe vars lêer oop.

Stap 2: Stap twee: Laai af en maak my.txt -lêer oop

Hierdie teks bevat die 'Node' klas waarmee ons gaan werk, asook 'n paar toetse om seker te maak dat die kode wat ons skryf, werk soos bedoel. Laai hier af

Stap 3: Stap drie: Kopieer en plak uit.txt -lêer in IDE

Stap drie: Kopieer en plak uit.txt -lêer in IDE
Stap drie: Kopieer en plak uit.txt -lêer in IDE

Kopieer die teks uit my lêer en plak dit in die java IDE wat u oopgemaak het.

Stap 4: Stap vier: Skep 'n toets

Stap vier: Skep 'n toets
Stap vier: Skep 'n toets

Dit sal kyk of ons rekursiewe funksie reg werk. Volg die formaat van die voorbeeldtoetse wat gegee word.

Stap 5: Stap vyf: Skep rekursiewe funksie

Stap vyf: Skep rekursiewe funksie
Stap vyf: Skep rekursiewe funksie

Tik die volgende in waar gevra, publieke int grootte () {}

Stap 6: Stap ses: Skep rekursiewe helperfunksie

Stap ses: Skep rekursiewe helperfunksie
Stap ses: Skep rekursiewe helperfunksie

Tik die volgende in waar dit gevra word:

openbare statiese int sizeH (Node x) {}

Stap 7: Stap sewe: Oproephelperfunksie in die hoofrekursiewe funksie

Stap sewe: Oproep Helper -funksie in die hoofrekursiewe funksie
Stap sewe: Oproep Helper -funksie in die hoofrekursiewe funksie

Dit laat ons funksie van die begin af deur die gekoppelde lys gaan.

Tik die volgende in die eerste van die funksies wat ons geskryf het:

opgawe grootte H (eerste);

Stap 8: Stap agt: Skep basiskas vir helperfunksie

Stap agt: skep 'n basiskas vir hulpfunksie
Stap agt: skep 'n basiskas vir hulpfunksie

Elke rekursiewe funksie moet 'n manier hê om dit te beëindig. Die 'basiese saak' sal ons laat stop as ons aan die einde van die lys kom.

Tik die volgende in die 'helper' -funksie:

as (x == null) terugkeer 0;

Stap 9: Stap nege: Voeg '+1' by en bel die helperfunksie weer

Stap nege: voeg "+1" by en skakel weer die helperfunksie
Stap nege: voeg "+1" by en skakel weer die helperfunksie

Ons voeg een by vir elke knoop wat die rekursiewe funksie besoek.

Tik die volgende in die 'helper' -funksie:

opgawe 1 + grootte H (x.volgende);

Stap 10: Stap tien: Stel u kode op / stoor dit

Die kode moet saamgestel word voordat ons die program kan begin.

Stap 11: Stap elf: voer die program uit

Begin u program! Wat was die uitset? As iets verkeerd loop, kyk terug en kyk of u die kode presies en op die regte plek ingevoer het.

Stap 12: Stap twaalf: Baie geluk

Stap twaalf: Baie geluk!
Stap twaalf: Baie geluk!

As dit u finale uitset is, het u amptelik 'n rekursiewe funksie geskryf wat deur 'n gekoppelde lys herhaal word.

Aanbeveel: