************************************************************************ * File: inssort.for ************************************************************************ * Scopo: Modulo per l'ordinamento di vettore, secondo l'algoritmo di * inserimento (insertion sort) * (cfr. libro Calvanese et al. paragrafo 9.2.1) ************************************************************************ SUBROUTINE InsSort (vett, n) * Ordina il vettore vett di n elementi utilizzando l'ordinamento per * inserimento IMPLICIT NONE * Dichiarazioni tipo parametri formali * parametri di input INTEGER n * parametri di input-output INTEGER vett(n) * Dichiarazioni di variabili locali INTEGER i, j, valore DO 10 i = 1, n-1 valore = vett(i+1) j = i DO WHILE ((j .GT. 0) .AND. (vett(j) .GT. valore)) vett(j+1) = vett(j) j = j-1 ENDDO vett(j+1) = valore 10 CONTINUE RETURN END