Kazalo:

Premikanje po povezanem seznamu z uporabo rekurzije - Java: 12 korakov
Premikanje po povezanem seznamu z uporabo rekurzije - Java: 12 korakov

Video: Premikanje po povezanem seznamu z uporabo rekurzije - Java: 12 korakov

Video: Premikanje po povezanem seznamu z uporabo rekurzije - Java: 12 korakov
Video: CS50 2013 - Week 4 2024, Julij
Anonim
Premikanje po povezanem seznamu z uporabo rekurzije - Java
Premikanje po povezanem seznamu z uporabo rekurzije - Java

Dobrodošli in hvala, ker ste izbrali ta nabor navodil, ki vam bo pokazal, kako ustvariti rekurzivno funkcijo. Za razumevanje korakov, ki jih boste izvedli, je potrebno osnovno znanje jave.

Na splošno ta 12-stopenjski postopek ne bi smel trajati dlje kot 15 minut. Edini korak, ki lahko traja dlje kot eno minuto, je korak 4, ki od uporabnika zahteva, da ustvari vzorčni test, ki ga bo izvedel. Čas uporabe je odvisen od uporabnika, vendar ocenjujem, da to ne bo trajalo več kot 3 minute.

Kaj boste potrebovali v računalniku: Moja preskusna datoteka (ki ji bomo dodali kodo). Vsak IDE java po vaši izbiri (za to bomo uporabili drjava).

1. korak: Prvi korak: Odprite svoj Java IDE po izbiri

Prvi korak: Odprite svoj Java IDE po izbiri
Prvi korak: Odprite svoj Java IDE po izbiri

Za ta nabor navodil se uporablja drjava. Odprite samo novo svežo datoteko.

2. korak: Drugi korak: Prenesite in odprite mojo datoteko.txt

To besedilo vsebuje razred »Node«, s katerim bomo sodelovali, ter nekaj testov, s katerimi lahko preverite, ali koda, ki jo zapišemo, deluje, kot je predvideno. Prenesite tukaj

3. korak: Tretji korak: Kopirajte in prilepite iz datoteke.txt v IDE

Tretji korak: Kopirajte in prilepite iz datoteke.txt v IDE
Tretji korak: Kopirajte in prilepite iz datoteke.txt v IDE

Kopirajte besedilo iz moje datoteke in ga prilepite v IDE java, ki ste ga odprli.

4. korak: Četrti korak: Ustvarite test

Četrti korak: Ustvarite test
Četrti korak: Ustvarite test

S tem bomo preverili, ali naša rekurzivna funkcija deluje pravilno. Sledite obliki podanih primerov testov.

5. korak: Peti korak: Ustvarite rekurzivno funkcijo

Peti korak: Ustvarite rekurzivno funkcijo
Peti korak: Ustvarite rekurzivno funkcijo

Kjer boste pozvani, vnesite naslednje:

javna velikost int () {}

Korak 6: Šesti korak: Ustvarite rekurzivno pomoč

Šesti korak: Ustvarite rekurzivno pomoč
Šesti korak: Ustvarite rekurzivno pomoč

Kjer boste pozvani, vnesite naslednje:

javni statični int velikost H (vozlišče x) {}

7. korak: Sedmi korak: Pokličite funkcijo pomočnika v glavni rekurzivni funkciji

Sedmi korak: Pokličite funkcijo pomočnika v glavni rekurzivni funkciji
Sedmi korak: Pokličite funkcijo pomočnika v glavni rekurzivni funkciji

Tako bo naša funkcija že od začetka hodila po povezanem seznamu.

V prvo od funkcij, ki smo jih napisali, vnesite naslednje:

velikost vrnitveH (prva);

8. korak: Osmi korak: Ustvarite osnovni primer za pomožno funkcijo

Osmi korak: Ustvarite osnovni primer za pomožno funkcijo
Osmi korak: Ustvarite osnovni primer za pomožno funkcijo

Vsaka rekurzivna funkcija mora imeti način, da jo konča. "Osnovni primer" nam bo omogočil, da nehamo potovati, ko pridemo do konca seznama.

V funkcijo "pomočnik" vnesite naslednje:

if (x == null) vrne 0;

9. korak: Deveti korak: Dodajte “+1” in znova pokličite funkcijo pomočnika

Deveti korak: Dodajte “+1” in znova pokličite funkcijo pomočnika
Deveti korak: Dodajte “+1” in znova pokličite funkcijo pomočnika

Za vsako vozlišče, ki ga obišče rekurzivna funkcija, dodamo enega.

V funkcijo "pomočnik" vnesite naslednje:

vrni 1 + velikostH (x.naprej);

10. korak: Deseti korak: Zberite / shranite kodo

Kodo je treba sestaviti, preden lahko zaženemo program.

11. korak: Enajsti korak: Zaženite program

Zaženite svoj program! Kaj je bil rezultat? Če je šlo kaj narobe, poglejte nazaj in preverite, ali ste kodo vnesli točno in na pravem mestu.

12. korak: Dvanajsti korak: Čestitamo

Dvanajsti korak: Čestitamo!
Dvanajsti korak: Čestitamo!

Če je to vaš končni rezultat, ste uradno napisali rekurzivno funkcijo, ki se ponavlja skozi povezan seznam.

Priporočena: