On 2008-10-01, Jean-Marc Bourguet <jm@bourguet.org> wrote:
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> writes:
On 2008-10-01, candide <candide@free.invalid> wrote:
Pierre Maurette a écrit :
Mais dans la pratique, ainsi au hasard :
*) exemple 1 : on a une grande liste de nombres premiers et on eut
l'utiliser pour écrire une fonction nextPrime ;
*) exemple 2 : on veut écrire un solveur de Boggle
quand on a une liste triée, on cherche souvent non pas à savoir si la
clé est ou pas dans la liste mais à connaitre le ou les voisins
immédiats de la clé.
Sauf que bsearch ne travaille pas avec des listes, mais avec des
tableaux, et qu'avec l'arithméique des pointeurs, quand tu as
l'adresse d'une donnée (et son type), ben, t'a les voisins...
D'ailleurs, une recherche dichotomique dans une liste, ça
va être dur...
Je crois qu'il voudrait que bsearch se comporte d'une maniere similaire a
std::equal_range en C++; mais il faut retourner plus qu'une simple
position.
Je ne sais pas ce qu'il veut exactement, mais bon, c'est quand même
pas très difficile à faire à partir de bsearch. Un coup de ++, un coup de --...
Marc
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)