ここでは、C 言語の qsort() と C 言語の sort() の違いを見ていきます。
C 言語には、配列の並べ替えに使用できる qsort() 関数が用意されています。関数のパラメータと構文を以下に示します。
void qsort(void *base, size_t num, size_t size, int (*comparator) (const void*, const void*));
この関数は、配列のベース アドレス、配列内の要素の数、配列内の各項目のサイズ、および比較関数を受け取ります。
C は、C STL にある sort() 関数を提供します。そのパラメータと構文を以下に示します。
void sort(T first, T last, Compare c);
繰り返される要素の順序が保持されるという保証はありません。これを実現するには、C STL が提供するsteady_sort を使用します。
C の qsort() | C のsort() |
---|---|
イントロソートを使用します。これはハイブリッド並べ替えアルゴリズムです。実装が異なれば、使用するアルゴリズムも異なります。 GNU C STL は 3 つの部分からなるハイブリッド ソートを使用します。イントロソート、クイックソート、挿入ソート。 | |
この問題については言及されていません。 |
以上がC qsort() と C++ sort() の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。