Question : Comment puis-je utiliser std::sort() de la bibliothèque de modèles standard C pour organiser un tableau par ordre croissant ?
<code class="cpp">int v[2000];</code>
Réponse :En C 11, vous pouvez utiliser deux fonctions pratiques :
<code class="cpp">std::sort(std::begin(v), std::end(v));</code>
Question supplémentaire : C a-t-il un moyen de déterminer les positions de début et de fin d'un tableau ?
Réponse : Oui, en C 11, std::begin et std::end sont surchargé pour les tableaux.
<code class="cpp">std::sort(std::begin(v), std::end(v));</code>
Si vous utilisez une version antérieure de C , vous pouvez créer vos propres versions de début et de fin :
Non-const :
<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(); }</code>
Const :
<code class="cpp">template<class Cont> typename Cont::const_iterator begin(Cont const& c){ return c.begin(); } template<class Cont> typename Cont::const_iterator end(Cont const& c){ return c.end(); }</code>
Surcharges pour les tableaux de style C :
<code class="cpp">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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!