Question

Pour trier les noms des éléments, je veux soutenir correctement les numéros. dire ceci:

1 Hamlet
2 Ophelia
...
10 Laertes

au lieu de

1 Hamlet
10 Laertes
2 Ophelia
...

Quelqu'un sait-il d'un foncteur de comparaison qui soutient déjà? (À savoir un prédicat qui peut être transmis à std::sort)

J'ai essentiellement deux modèles de soutien: nombre Leading (comme ci-dessus), et le numéro à la fin, semblable à l'explorateur:

Dolly
Dolly (2)
Dolly (3)

(je suppose que je pourrais travailler que sur:. Comparer par caractère, et de traiter les valeurs numériques différemment Cependant, ce serait probablement briser unicode collaiton et ainsi de suite)

Était-ce utile?

La solution

Qui est appelé tri alphanumérique.
Consultez ce lien: L'algorithme Alphanum

Autres conseils

Je pense que u peut utiliser un objet paire et ensuite faire vecteur> et puis trier ce vecteur. Les paires sont comparés en fonction de leurs premiers éléments. Alors, de cette façon vous pouvez obtenir le genre que vous désirez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top