Jean-Marc Bourguet a écrit :
candide <candide@free.invalid> writes:
Jean-Marc Bourguet a écrit :
Je crois qu'il voudrait que bsearch se comporte d'une maniere similaire a
std::equal_range en C++;
D'après la doc C++ que je viens de regarder, c'est plus ou moins ça.
mais il faut retourner plus qu'une simple
position.
Une position suffit (l'ordre est total) après c'est une question de
convention (le plus ou le plus grand, peu importe). Mais surtout, et c'est
ça que j'ai du mal à comprendre, c'est que ça ne coûterait _rien de plus_ à
bsearch de nous sortir cette position puisque forcément il la calcule.
Un equivalent de lower_bound ou upper_bound alors?
Oui, ça doit être ça, mais je connais pas le C++ : "life is too short ...." tu connais la suite.
Ca couterait a l'utilisation normale (chez moi; j'utilise des structures
plus complexes qu'un tableau trie si ce que tu desires est necessaire; note
que les fonctions du C++ sont valables pour autre chose que des tableaux)
un test supplementaire pour savoir si ce que bsearch retourne est un
element trouve ou bien la position ou il faudrait mettre un element non
trouve.
Oui, ça couterait, un chouilla par rapport à l'exécution complète de l'algorithme et ça rapporterait pas mal.