A rekurzív módszerek - studopediya
Ez az úgynevezett rekurzív eljárás, amely magát. Ez az úgynevezett rekurzív, egyenes. Van közvetett rekurzió, amikor két vagy több metódushívások egymással. Ha ezt a módszert nevezte magát, egy halom egy másolatot készít a paraméterértékek, mint a hagyományos módszer a hívást, majd vezérlést kap az első újra végrehajtható eljárás az üzemeltető. Amikor emlékeztetve a folyamat megismétlődik.
Egyértelmű, hogy a befejezése minden rekurzív számítási módszer kell tartalmaznia, a betakarítás legalább egy ága egy nem-rekurzív algoritmus véget a bevallását. A következtetés az eljárás megfelelő része a köteg felszabadul és vezérlés átkerül a hívó, amelynek végrehajtása továbbra etsya egy pontot követően a rekurzív hívást.
A klasszikus példa a rekurzív függvény a faktoriális függvény (ez nem jelenti azt, hogy a faktoriális úgy kell kiszámítani). For! Annak érdekében, hogy az érték a faktoriális n, meg kell szorozni n-torial faktora (n - 1). Az is ismert, hogy a 0 = 1 + 1 = 1 !:
hosszú tény (hosszú n)
vissza 1; // nem-rekurzív ág
visszatérési (n * tény, (n - 1)); // rekurzív ág
Ahhoz, hogy ugyanazt a felírható röviden:
hosszú tény (hosszú n)
vissza (n> 1). n * tény, (n - 1). 1;
Rekurzív módszer a leggyakrabban használt kompakt végrehajtására rekurzív-sive algoritmusok, valamint az adatok feldolgozására leírt szerkezetek újra rekurzív például bináris fát (a fogalom egy bináris fa van megadva 13. fejezet). akkor végre olyan rekurzív eljárás nélkül újra aránya, ez programozó tárolásának biztosítására valamennyi releváns adatot saját.
Az előnyök közé tartozik tömörség rekurzió rekord Insuffici kamera - és a memória fogyasztás ismételt eljárás hívások és átadja őt a Pius-paramétereket, és ami a legfontosabb, a kockázat, a túlfolyó verem.
Módszerek változó argumentum
Néha kényelmes egy olyan módszer, amely átvihető más-lichestvo érveket. C # ezt a képességet a kulcsszó params. Paraméter jelölt ezt a kulcsszót, idő-helyettesítő a paraméter lista, és jelzi az utolsó tömb a meghatározott típusú határozatlan hosszúságú, például: public int Számítsuk (. Int egy ki int a params int [] d).
Ebben az eljárásban, akkor át három vagy több paramétert. Bent a módszer a paraméterek a harmadik, a továbbiakban a szokásos sor elemeit. szám
tömbelemek nyert annak tulajdonságait Hossz. Példaként, úgy a számítási módszere az átlagértékek a tömb elemeinek (felsorolja 7.1).
Listing 7.1. Eljárás változó számú paramétert
public static dupla Átlagos (params int [] a)
Az eredmény a program:
Elégtelen érveket az eljárás
Ebben az algoritmusban hiányában Átlagos érveket a hívás a módszer egy hiba. Ez az esemény kezeli generál kivételt. Ha nem tudja kezelni ezt a hibát, a számítás eredménye megegyezik az átlagos „szám nem» (NaN) hatására a Wie-osztás nullával a return utasítást a módszer.
A paraméter tömb lehet csak egy, és el kell helyezni az utolsó a listán. A megfelelő gyelembe kell típusok, amelyek Ki lehet egy implicit konverzió egy tömb típusú.