=====qsort===== 文法: #include void qsort( void *バッファ, size_t 数, size_t サイズ, int (*比較関数)(const void*, const void *) ); qsort関数は、指定された''バッファ''(''数''個の、''サイズ''で指定された大きさの要素を持つ)を、[[http://ja.wikipedia.org/wiki/クイックソート|クイックソート]]のアルゴリズムを使用してソートします。''比較関数''は''バッファ''の要素を比較するのに使用され、最初の引数が二番目の引数よりも小さければ負の値を、等しければゼロを、大きければ正の値を返す関数を指定します。qsort()関数は、''バッファ''を、昇順にソートします。 以下のサンプルは、数値の配列を、qsort()を使用してソートしています: int compare_ints( const void* a, const void* b ) { // 比較関数 int* arg1 = (int*) a; int* arg2 = (int*) b; if( *arg1 < *arg2 ) return -1; else if( *arg1 == *arg2 ) return 0; else return 1; } int array[] = { -2, 99, 0, -743, 2, 3, 4 }; int array_size = 7; ... printf( "ソート前: " ); for( int i = 0; i < array_size; i++ ) { printf( "%d ", array[i] ); } printf( "\n" ); qsort( array, array_size, sizeof(int), compare_ints ); printf( "ソート後: " ); for( int i = 0; i < array_size; i++ ) { printf( "%d ", array[i] ); } printf( "\n" ); これを実行すると、以下のように表示されます: ソート前: -2 99 0 -743 2 3 4 ソート後: -743 -2 0 2 3 4 99 関連トピック: [[bsearch]], [[jp/stl/algorithm/sort]]