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