Tri d'une liste avec la fonction de tri STL
Lors du tri d'une liste par ordre décroissant à l'aide de la fonction de tri STL, vous pouvez rencontrer une erreur de compilation si votre liste contient des éléments d'une structure et que la fonction de comparaison n'est pas correctement définie. L'erreur "aucune correspondance pour 'operator-' dans '__last - __first'" indique que la fonction de tri ne peut pas déterminer l'ordre des éléments dans votre liste.
Le problème se pose car la fonction de tri nécessite des itérateurs à accès aléatoire, quels std::list
Pour résoudre ce problème, vous devez utiliser la fonction membre std::list
Voici un exemple de la façon dont vous pouvez utiliser std::list
Result.poly.sort([](const term& t1, const term& t2) { return t2.pow < t1.pow; });
Cette fonction de comparateur personnalisé triera correctement votre liste de structures par ordre décroissant en fonction du champ pow dans chaque structure.
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!