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
Előző Cikk Következő Cikk

Top Tippek