C の std::sort を使用した配列のソート
int v[2000]; として宣言された配列をソートするにはstd::sort 関数を使用すると、配列の開始反復子と終了反復子を指定するだけです。 C 0x/11 では、配列に対してオーバーロードされた std::begin 関数と std::end 関数を使用してこれを実現できます。
<code class="cpp">#include <algorithm> int main(){ int v[2000]; std::sort(std::begin(v), std::end(v)); }</code>
C 0x にアクセスできない場合は、次のようにすることができます。これらの関数を自分で実装します:
<code class="cpp">template<class Cont> typename Cont::iterator begin(Cont& c){ return c.begin(); } template<class Cont> typename Cont::iterator end(Cont& c){ return c.end(); } // overloads for C style arrays template<class T, std::size_t N> T* begin(T (&arr)[N]){ return &arr[0]; } template<class T, std::size_t N> T* end(T (&arr)[N]){ return arr + N; }</code>
以上がC で std::sort を使用して配列をソートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。