Maison > Article > développement back-end > Comment remplacer le comparateur de clés dans C Maps ?
À l'aide de cartes standard en C , les comparaisons de clés sont effectuées à l'aide du comparateur par défaut de la clé, généralement lexicographique pour les chaînes. Cependant, il existe des scénarios dans lesquels vous devrez peut-être définir votre propre logique de comparaison.
Personnalisation de la comparaison de clés :
Pour remplacer le comparateur par défaut, spécifiez un comparateur personnalisé comme troisième paramètre du modèle lors de la construction de la carte. Par exemple, pour comparer les clés en fonction de leur longueur de chaîne :
<code class="cpp">struct LengthComparator { bool operator()(const std::string& lhs, const std::string& rhs) const { return lhs.length() < rhs.length(); } }; std::map<std::string, std::string, LengthComparator> lengthMap;</code>
Autres méthodes de tri des cartes :
Si vous préférez ne pas définir de comparateur personnalisé, vous peut utiliser d'autres méthodes pour trier une carte :
Remarque : Lorsque vous comparez les clés par longueur, soyez conscient qu'une seule instance de chaque longueur peut exister en tant que clé dans la carte.
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!