Maison > développement back-end > C++ > Comment utiliser std::sort pour ordonner un tableau en C ?

Comment utiliser std::sort pour ordonner un tableau en C ?

Susan Sarandon
Libérer: 2024-10-24 01:57:29
original
626 Les gens l'ont consulté

How to Use std::sort to Order an Array in C  ?

Tri des tableaux avec std::sort en C

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>
Copier après la connexion

Réponse :En C 11, vous pouvez utiliser deux fonctions pratiques :

<code class="cpp">std::sort(std::begin(v), std::end(v));</code>
Copier après la connexion
Copier après la connexion

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>
Copier après la connexion
Copier après la connexion

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&amp; c){
  return c.begin();
}

template<class Cont>
typename Cont::iterator end(Cont&amp; c){
  return c.end();
}</code>
Copier après la connexion

Const :

<code class="cpp">template<class Cont>
typename Cont::const_iterator begin(Cont const&amp; c){
  return c.begin();
}

template<class Cont>
typename Cont::const_iterator end(Cont const&amp; c){
  return c.end();
}</code>
Copier après la connexion

Surcharges pour les tableaux de style C :

<code class="cpp">template<class T, std::size_t N>
T* begin(T (&amp;arr)[N]){
  return &amp;arr[0];
}

template<class T, std::size_t N>
T* end(T (&amp;arr)[N]){
  return arr + N;
}</code>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal