Taula de continguts:

Recórrer una llista enllaçada mitjançant Recursió - Java: 12 passos
Recórrer una llista enllaçada mitjançant Recursió - Java: 12 passos

Vídeo: Recórrer una llista enllaçada mitjançant Recursió - Java: 12 passos

Vídeo: Recórrer una llista enllaçada mitjançant Recursió - Java: 12 passos
Vídeo: CS50 2015 - Week 3, continued 2024, Desembre
Anonim
Recórrer una llista enllaçada mitjançant Recursió - Java
Recórrer una llista enllaçada mitjançant Recursió - Java

Benvingut i gràcies per triar aquest conjunt d’instruccions, que us mostrarà com crear una funció recursiva. Es necessiten coneixements bàsics sobre java per entendre els passos que s’executaran.

En general, aquest procés de 12 passos no hauria de trigar més de 15 minuts. L'únic pas que pot trigar més d'un minut és el pas 4, que demana a l'usuari que creeu una prova de mostra per executar-la. El temps que s’ha d’utilitzar depèn de l’usuari, però estimaria que no trigaria més de 3 minuts.

Què necessitareu a l'ordinador: el meu fitxer de proves (al qual afegirem codi). Qualsevol IDE de Java que escolliu (utilitzarem drjava per a això).

Primer pas: primer pas: obriu el vostre IDE Java que trieu

Primer pas: obriu el vostre IDE de Java que trieu
Primer pas: obriu el vostre IDE de Java que trieu

Per a aquest conjunt d’instruccions s’utilitza drjava. Només cal que obriu un fitxer nou.

Pas 2: segon pas: descarregueu i obriu el meu fitxer.txt

Aquest text conté la classe "Node" amb la qual treballarem, així com algunes proves per assegurar-nos que el codi que escrivim funcioni tal com es pretenia. Descarregueu aquí

Pas 3: tercer pas: copieu i enganxeu el fitxer.txt a IDE

Pas tercer: copieu i enganxeu el fitxer.txt a IDE
Pas tercer: copieu i enganxeu el fitxer.txt a IDE

Copieu el text del meu fitxer i enganxeu-lo a l'IDE Java que heu obert.

Pas 4: quart pas: creeu una prova

Quart pas: creeu una prova
Quart pas: creeu una prova

Això comprovarà si la nostra funció recursiva funciona correctament. Seguiu el format dels exemples de proves donats.

Pas 5: Pas cinc: Creeu una funció recursiva

Cinquè pas: creeu una funció recursiva
Cinquè pas: creeu una funció recursiva

Quan se us demani, escriviu el següent:

mida int públic () {}

Pas 6: sisè pas: creeu una funció d'ajuda recursiva

Pas sisè: creeu una funció d'ajuda recursiva
Pas sisè: creeu una funció d'ajuda recursiva

Quan se us demani, escriviu el següent:

mida int estàtica públicaH (node x) {}

Pas 7: Setè pas: funció d'assistència de trucades a la funció recursiva principal

Pas set: Funció d'assistència de trucades a la funció recursiva principal
Pas set: Funció d'assistència de trucades a la funció recursiva principal

Això farà que la nostra funció travessi la llista enllaçada des del principi.

A la primera de les funcions que hem escrit, escriviu el següent:

retorna la mida H (primer);

Pas 8: Vuitè pas: creeu una caixa base per a la funció d'ajuda

Pas vuit: creeu una caixa base per a la funció d’ajudant
Pas vuit: creeu una caixa base per a la funció d’ajudant

Totes les funcions recursives han de tenir una manera d’acabar-la. El "cas bàsic" ens farà deixar de travessar un cop arribem al final de la llista.

A la funció "ajudant", escriviu el següent:

if (x == nul) retorna 0;

Pas 9: Pas nou: afegiu "+1" i torneu a trucar a la funció d'assistència

Pas nou: afegiu "+1" i torneu a trucar a la funció d'assistència
Pas nou: afegiu "+1" i torneu a trucar a la funció d'assistència

Afegim un per a cada node que visita la funció recursiva.

A la funció "ajudant", escriviu el següent:

retorna 1 + midaH (x.next);

Pas 10: Pas deu: Compileu / Deseu el vostre codi

Cal compilar el codi abans de poder executar el programa.

Pas 11: Pas onze: executeu el programa

Executeu el vostre programa. Què es va produir? Si alguna cosa ha fallat, mireu enrere i comproveu si heu introduït el codi exactament i al lloc adequat.

Pas 12: Pas dotze: Enhorabona

Pas dotze: Enhorabona!
Pas dotze: Enhorabona!

Si aquest és el vostre resultat final, heu escrit oficialment una funció recursiva que itera a través d'una llista enllaçada.

Recomanat: