************************************************************************ * File: selsort.for ************************************************************************ * Scopo: Modulo per l'ordinamento di vettore, secondo l'algoritmo di * ordinamento per selezione del minimo (selection sort) * (cfr. libro Calvanese et al. paragrafo 3.4.1) ************************************************************************ SUBROUTINE SelSort (vett, n) * Ordina il vettore vett di n elementi utilizzando l'ordinamento per * selezione del minimo 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, imin, temp DO 10 i = 1, n-1 imin = i DO 20 j = i+1, n IF (vett(j) .LT. vett(imin)) imin = j 20 CONTINUE IF (imin .NE. i) THEN temp = vett(imin) vett(imin) = vett(i) vett(i) = temp ENDIF 10 CONTINUE RETURN END