Pascal sprog - Rekursion inden for en Shell Sort

Definition

Rekursion, i computer eller matematiske termer, er en metode til at definere funktioner, hvor den definerede funktion anvendes inden for sin egen betegnelse. Udtrykket bruges også mere generelt til at beskrive processen med at gentage objekter i et lignende mønster.

Implementering

Herunder finder du en simpel rekursiv procedure, der giver dig mulighed for at sortere en tabel med (n) antal heltal ved hjælp af Shell-sorteringsmetoden:

 Fremgangsmåde Shell_Sort_Rec (Var t: TAB; n, h: heltal); Var aux, i: heltal; start Hvis h> 0 Start derefter Hvis n> h Start derefter Shell_Sort_Rec (t, n - h, h); Hvis t [n]  t [i - h]); t [i]: = aux; Ende; Ende; Shell_Sort_Rec (t, n, h Div 3); Ende; Ende; 

Noter

Det er bedre at teste denne procedure på små tabeller, fordi i tilfælde af at antallet af opkald bliver for vigtige, kan spildet overskride grænsen for hukommelsesstakken til rekursiv funktion. Du kan øge størrelsen af ​​testtabellen ved at øge stakkenes størrelse:

 OptioncompilerMemory Settingsstack størrelse 
  • Få mere at vide om Shell Sort Algoritmen
  • Takket være Zouari Lazhar for dette tip
Forrige Artikel Næste Artikel

Top Tips