      SUBROUTINE tri ( nelt, itab )
!
!     USE numerics
!
! Tri d'un tableau par insertion directe
!
      IMPLICIT NONE
!
! Declaration des arguments
!
! Nombre d'elements a trier
      INTEGER,                      INTENT(IN)     ::  nelt
!
! Tableau a trier
      INTEGER,  DIMENSION(1:nelt),  INTENT(INOUT)  ::  itab
!
! Declaration des variables locales
!
      INTEGER  ::  i, j
      INTEGER  ::  ie
!
      DO j = 2, nelt
!
         ie = itab(j)
!
         DO i = j - 1, 1, -1
!
            IF ( itab(i) <= ie ) GO TO 10
!
            itab(i+1) = itab(i)
!
        END DO
!
        i = 0
!
   10   itab(i+1) = ie
!
      END DO
!
! Fin   de la subroutine
!
      RETURN
      END SUBROUTINE tri
