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

Comment trier les types définis par l'utilisateur en C à l'aide de la bibliothèque standard ?

Patricia Arquette
Libérer: 2024-11-18 08:34:02
original
926 Les gens l'ont consulté

How Do I Sort User-Defined Types in C   Using the Standard Library?

Tri des types définis par l'utilisateur avec la bibliothèque standard

Lors du tri d'une collection de types définis par l'utilisateur, il peut être nécessaire de les trier basé sur des variables de membre spécifiques. Pour y parvenir à l'aide de la fonction de tri de la bibliothèque standard, il est essentiel de considérer les éléments suivants :

Implémentation de l'opérateur de comparaison :

La fonction de tri standard nécessite que les éléments à trier implémentez l'opérateur de comparaison <. Dans le contexte d'un type défini par l'utilisateur, cet opérateur définit la logique de classement des éléments. Par exemple :

struct MyType {
    int a;
    int b;
    bool operator<(const MyType& other) const {
        return a < other.a; // Compares 'a' of this object with 'a' of other.
    }
};
Copier après la connexion

En implémentant le < opérateur, le type défini par l'utilisateur permet à la fonction de tri d'ordonner ses éléments en fonction de la variable membre 'a'.

Utilisation des fonctions de comparaison :

Une approche alternative est utiliser des fonctions de comparaison ou des foncteurs pour définir les critères de tri. Ceci est utile lorsqu'il n'est pas réalisable ou pratique d'implémenter le < opérateur. Une fonction de comparaison prend deux éléments en entrée et renvoie une valeur booléenne indiquant la relation de classement.

bool type_is_less(const MyType& t1, const MyType& t2) {
    return t1.b < t2.b; // Compares 'b' of 't1' with 'b' of 't2'.
}

...
std::sort(container.begin(), container.end(), type_is_less);
Copier après la connexion

Avantages des fonctions de comparaison :

  • Flexibilité dans la définition critères de tri personnalisés.
  • Évite d'avoir à modifier le type défini par l'utilisateur lui-même.
  • Permet plusieurs critères de tri en utilisant différentes fonctions de comparaison.

Conclusion :

La fonction de tri de la bibliothèque standard offre une flexibilité dans le tri types définis par l'utilisateur. En implémentant l'opérateur de comparaison ou en utilisant des fonctions de comparaison, il devient possible d'ordonner des éléments en fonction de variables membres spécifiques, permettant un tri efficace de structures de données complexes.

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.cn
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