Oracle Solaris Studio 12.4 Man Pages

Exit Print View

Updated: January 2015
 
 

qsort(3F)

Name

qsort, qsort64 - quick sort

Synopsis

integer*4 len, isize
integer*8 len8, isize8
external compar
integer*2 compar
subroutine qsort (array, len, isize, compar)
subroutine qsort64(array,len8, isize8, compar)

Description

One-dimensional array contains the elements to be sorted. len (or len8) is the number of elements in the array. isize (or isize8) is the size of an element, typically:

  • 4 for integer and real (or 4_8 with qsort64)

  • 8 for double precision or complex (or 8_8 with qsort64)

  • 16 for double complex (or 16_8 with qsort64)

  • or the length of a character element (in bytes) for character arrays.

compar is the name of a user-supplied INTEGER*2 function that determines the sorting order. This function is called with two arguments that are elements of array. The function must return:

  • negative if arg1 is considered to precede arg2

  • zero if arg1 is equivalent to arg2

  • positive if arg1 is considered to follow arg2.

On return, the elements of array are sorted.

Use qsort64 in 64-bit environments where the size of the array (or character array element) exceeds 2 Gigabytes and can only be specified with an INTEGER*8 value.

Notes

When using qsort64, be sure to specify the element size, isize8, and the array length, len8, as INTEGER*8 data. Specify INTEGER*8 constants using the Fortran 90 syntax, for example 8_8, as in:

integer*8 LENARRAY, ARRAY(large_number)
integer*2 ORDER
external ORDER
...
call qsort64(ARRAY, LENARRAY, 8_8, ORDER)

Files

libfui.a

See also

qsort(3C)