%N hsorti %F $MIR/src/subs/hsort.for
%D Perform an indexed heapsort on a integer array.
%P jm
%: sorting
%B
      subroutine hsorti(n, array, indx)

      implicit none
      integer n, indx(n)
      integer array(n)

  HSORTI performs an index based heapsort on an integer array.
  The number of elements in the array and the array are left unchanged.
  The size of the indx array should be at least as large as the size of
  the integer array.

     Input:
       n        The number of elements in the array.
       array    The integer array on which to base the sort.

     Output:
       indx     Sorted integer index array such that array(indx(1)) is
                the smallest and array(indx(n)) is the largest element.
