Linguaggio Pascal - Ricorsione in un Sort di shell

Definizione

La ricorsione, in termini informatici o matematici, è un metodo per definire funzioni in cui la funzione che viene definita viene applicata all'interno della propria designazione. Il termine è anche usato più in generale per descrivere il processo di ripetere oggetti in un modello simile.

Implementazione

Qui di seguito troverete una semplice procedura ricorsiva che consente di ordinare una tabella di (n) numero di numeri interi usando il metodo di ordinamento di Shell:

 Procedura Shell_Sort_Rec (Var t: TAB; n, h: intero); Var aux, i: intero; begin If h> 0 Then Begin If n> h Quindi inizia Shell_Sort_Rec (t, n - h, h); Se t [n]  t [i - h]); t [i]: = aux; Fine; Fine; Shell_Sort_Rec (t, n, h Div 3); Fine; Fine; 

Gli appunti

È meglio testare questa procedura su tavoli di piccole dimensioni, perché nel caso in cui il numero di chiamate diventasse troppo importante potrebbe far traboccare i limiti dello stack di memoria allocato alla funzione ricorsiva. Puoi aumentare la dimensione della tabella di test aumentando la dimensione della pila:

 OptioncompilerMemory Settingsstack size 
  • Ulteriori informazioni sull'Algoritmo di ordinamento shell
  • Grazie a Zouari Lazhar per questo suggerimento
Articolo Precedente Articolo Successivo

I Migliori Consigli