マニュアルページ qsort.3f




名前

     qsort, qsort64  - クイックソート


形式

      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)


機能説明

     1 次元配列 array には、ソート対象の要素を含みます。 len ( ま
     たは len8) は配列内の要素の数です。 isize (または isize8) は
     要素のサイズで、通常は次のとおりです。

          4(qsort64 では 4_8) : integer および real の場合
          8(qsort64 では 8_8) :  double precision または  complex
          の場合
          16(qsort64 では 16_8) :  double complex の場合
          文字要素オブジェクトの長さ (バイト単位) :  character 配
          列の場合

     compar は、ユーザーが指定したソート順を決定する INTEGER*2 型
     関数名です。この関数は、 array の要素になる 2 つの引数を用い
     て呼び出されます。戻り値は次のようにします。

          引数 1 が引数 2 の前にある場合は、負の値。
          引数 1 と引数 2 の順序が同じである場合は、ゼロ。
          引数 1 が引数 2 の後ろにある場合は、正の値。

     リターン時、 array の要素はソートされます。

     64 ビット環境において、配列のサイズ (または文字配列要素)  が
     2  ギガバイト以上で、 INTEGER*8 の値でのみ指定できるような場
     合は、 qsort64 を使用してください。


注意事項

     qsort64 を使用する場合、必ず要素サイズ isize8 と配列の 長 さ
     len8  を INTEGER*8 のデータとして指定してください。INTEGER*8
     の定数は、以下の例 8_8 のように、Fortran 90 の構文を使用して
     指定してください。

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




ファイル

     libfui.a


関連項目

     qsort(3c)