# マニュアルページ qsort64.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)