Ensimmäisessä lausumassa saa hetkellä eniten hakemistopolun ja määrittää sen muuttujan $ iCurrDir. Getcwd () funktio ilman argumentti palauttaa polku työhakemiston. Emohakemisto alkuun hakemistoon voidaan tai ei ole. Sen polku on määritetty muuttuja, $ aboveDir. Emohakemisto alkuun hakemistoon ei olisi olemassa, jos ylin hakemisto on juurihakemisto, Jos näin on, niin arvo muuttujan, $ aboveDir tulee "". Seuraava koodisegmentti yläpuolella määrittää asiaa arvo $ aboveDir. Tämän jälkeen sinun on luominen array, joka pitää polkuja kaikki hakemistot ylhäältä hakemistosta, alaspäin.
Sen jälkeen luominen lausunto, polku alkuun hakemiston osoitetaan ensimmäisenä alkiota. Seuraava koodi sinulla on kutsu rekursiivinen funktio. Rekursiivinen funktio on määritelty jäljempänä tässä ehdotuspyynnössä. Rekursiivinen funktio Tämä on ääriviivat rekursiivinen funktio: funktio searchTree () {//saada nimet, alihakemistoja hakemiston ilman polku. //Liittyä nimet alihakemistoja polun nykyisen hakemiston //ja lähettää täydellinen polkuja alihakemistoja jono. //Siirry seuraavaan alihakemistoon aakkosjärjestyksessä, että et ole vielä käynyt.
//Mennä takaisin ylös yhden hakemiston, jos jokainen alihakemisto nykyiseen hakemistoon //on käynyt. } On neljä koodi segmenttiä rekursiivinen funktio. Jotta luetella alihakemistoja hakemiston, että hakemiston on oltava nykyiseen hakemistoon. Lue edellä toiminto ääriviivat. Ensimmäinen koodisegmentti saa nimet ilman polut nykyisen hakemiston. Ensimmäistä kertaa funktiota kutsutaan, nykyinen hakemisto on alkuun hakemistoon. Toinen segmentti muodostaa täydellisen polkuja alihakemistot ja lähettää ne jono.
Kolmas segmentti vaihtaa nykyisen hakemiston kuin alihakemiston, jota se ei ole vielä tehnyt nykyinen. Se menee sub hakemiston seuraavat aakkosjärjestyksessä alihakemistoihin. Rekursiivinen toimintoa kutsutaan yhä; Jos milloin tahansa toistojen ei ole osa hakemiston, sitten kolmas koodisegmentti ohitetaan. Kun kaikki mahdolliset ali