Pascal nyelv - Rekurzió a Shell-féle rendezésen belül
Meghatározás
A rekurzió a számítástechnikai vagy matematikai értelemben egy olyan módszer, amely meghatározza azokat a funkciókat, amelyekben a definiált függvényt a saját megnevezésén belül alkalmazzák. A kifejezést általánosabban is használják az objektumok hasonló mintázatú ismétlésének folyamatára.
Végrehajtás
Az alábbiakban egy egyszerű rekurzív eljárást talál, amely lehetővé teszi, hogy a (n) egész számok táblázatát rendezze a Shell rendezési módszerrel:
Eljárás Shell_Sort_Rec (Var t: TAB; n, h: egész szám); Var aux, i: egész szám; start Ha h> 0 Ezután kezdje el ha n> h Ezután kezdje el a Shell_Sort_Rec (t, n - h, h); Ha t [n]t [i - h]); t [i]: = aux; Vége; Vége; Shell_Sort_Rec (t, n, h Div 3); Vége; Vége;
Megjegyzések
Jobb, ha ezt az eljárást kis táblákon teszteljük, mert abban az esetben, ha a hívások száma túlságosan fontos, a memóriában a rekurzív függvényhez rendelt határok áthatolhatnak. A verem méretének növelésével növelheti a tesztasztal méretét:
OptioncompilerMemory Settingsstack mérete
- Tudjon meg többet a Shell rendezési algoritmusról
- Köszönjük Zouari Lazharnak ezt a tippet