/* permuta.b */ /* v (, , ) */ define v (l[], a, z) { auto j for (j=a; j<=z; j++) { (l[j]) } return } /* p (, , , ) */ define p (l[], a, z, d) { auto k auto t if ((z-a)>=1) { /* Inizia un ciclo di scambi tra l'ultimo elemento e uno degli altri contenuti nel segmento di array. */ for (k=z; k>=a; k--) { /* Scambia i valori */ s=l[k] l[k]=l[z] l[z]=s /* Esegue una chiamata ricorsiva per permutare un segmento pił piccolo dell'array. */ t = p (l[], a, z-1, d) /* Scambia i valori */ s=l[k] l[k]=l[z] l[z]=s } return } /* Visualizza la situazione attuale dell'array. */ " " t = v (l[],0,d) return } "Permutazioni: t = p (, , , )"