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
916 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!

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