Maison > développement back-end > C++ > Comment : trier un tableau à l'aide de std :: sort en C

Comment : trier un tableau à l'aide de std :: sort en C

Barbara Streisand
Libérer: 2024-10-23 21:00:02
original
976 Les gens l'ont consulté

How to: Sort an Array Using std::sort in C

Tri d'un tableau à l'aide de std::sort en C

En C , la bibliothèque de modèles standard fournit la fonction std::sort() pour trier efficacement les éléments d'un tableau . Pour un tableau déclaré comme int v[2000], l'extrait de code suivant montre comment utiliser std::sort() pour y parvenir :

<code class="cpp">#include <algorithm>

int main() {
  int v[2000];
  std::sort(std::begin(v), std::end(v));
}</code>
Copier après la connexion

Cependant, std::begin() et std : Les fonctions :end() introduites dans C 0x/11 sont essentielles pour cette approche. Ces fonctions renvoient des itérateurs représentant le début et la fin d'un conteneur donné, y compris les tableaux.

Si vous n'avez pas accès à C 0x, il est possible de définir vous-même ces fonctions :

Fonction de début pour les conteneurs non const :

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

Fonction de fin pour les conteneurs non const :

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

Fonction de début pour Conteneurs const :

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

Fonction de fin pour les conteneurs const :

<code class="cpp">template<class Cont>
typename Cont::const_iterator end(Cont const& 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 (&arr)[N]) {
  return &arr[0];
}

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

En utilisant ces fonctions, vous pouvez trier de manière transparente un tableau en utilisant std::sort() en C .

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