Maison > développement back-end > C++ > le corps du texte

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

Susan Sarandon
Libérer: 2024-10-24 01:57:29
original
496 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!

source:php
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!