Rumah >pembangunan bahagian belakang >C++ >Bagaimana Mengisih Tatasusunan Menggunakan std::sort dalam C ?
Isih Tatasusunan dengan std::isih dalam C
Untuk mengisih tatasusunan yang diisytiharkan sebagai int v[2000]; menggunakan fungsi std::sort, cukup sediakan iterator permulaan dan akhir tatasusunan. Dalam C 0x/11, ini boleh dicapai dengan fungsi std::begin dan std::end yang terlebih beban untuk tatasusunan:
<code class="cpp">#include <algorithm> int main(){ int v[2000]; std::sort(std::begin(v), std::end(v)); }</code>
Jika anda tidak mempunyai akses kepada C 0x, anda boleh laksanakan sendiri fungsi ini:
<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>
Atas ialah kandungan terperinci Bagaimana Mengisih Tatasusunan Menggunakan std::sort dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!