Pascal jezik - rekurzija v razvrščanju lupine

Opredelitev

Rekurzija v računalniških ali matematičnih izrazih je metoda definiranja funkcij, pri katerih se funkcija, ki se definira, uporablja znotraj lastne oznake. Izraz se uporablja tudi bolj splošno za opis postopka ponavljanja predmetov v podobnem vzorcu.

Izvajanje

V nadaljevanju boste našli preprost rekurzivni postopek, ki vam omogoča razvrščanje tabele (n) števila celih števil s pomočjo metode sortiranja Shell:

 Postopek Shell_Sort_Rec (Var t: TAB; n, h: celo število); Var aux, i: celo število; begin Če h> 0 Potem začnite Če n> h Nato začnite Shell_Sort_Rec (t, n - h, h); Če je t [n]  t [i - h]); t [i]: = pomožna; End; End; Shell_Sort_Rec (t, n, h Div 3); End; End; 

Opombe

Bolje je, da ta postopek preizkusite na majhnih tabelah, ker v primeru, da število klicev postane preveč pomembno, lahko prelivajo omejitve pomnilnika, ki so dodeljene rekurzivni funkciji. Velikost testne tabele lahko povečate tako, da povečate velikost sklada:

 OptioncompilerMemory Settingsstack velikost 
  • Več o algoritmu razvrščanja lupine
  • Hvala Zouariju Lazharju za ta nasvet
Prejšnji Članek Naslednji Članek

Top Nasveti