J'ai besoin d'une structure pour conserver une valeur basée sur une clé ayant une plage. Mon implémentation est C++, donc tout STL ou Boost serait excellent.Structure pour conserver la valeur à l'aide de la touche à distance
I ont comme plage-clé, qui sont doubles, et la valeur
- [0,2) -> valeur1
- [2,5) -> valeur2
- [5,10) -> value3
- etc
telle que la recherche de 1,23 devrait revenir valeur1, et ainsi de suite.
À l'heure actuelle, j'utilise un vecteur contenant les trois parties, key1/key2/value, avec une recherche personnalisée, mais il semble qu'il devrait y avoir une structure plus propre.
Edit: Merci à tous. Étant donné que les plages dans ce cas sont supposées être contiguës et ne se chevauchent pas, l'utilisation de upper_bound fonctionnera parfaitement. Merci également pour les solutions Range, elles sont classées pour référence future.
sont des plages se croisent? –
Non, ils ne devraient pas – sdg