Sebbene mi è stato detto che è possibile, io ho i miei dubbi.
Trattasi, di fare una ricerca binaria in un array di elementi ordinati con possibili doppi.
Il problema però secondo me sorge in questo caso:
1,2,3,3,5,7,9
cerchiamo 3, il programma una volta fatta la metà dell'array(fra 0 e 6, elemento 3) non può sapere da che parte continuare a cercare, se andare a sinistra o a destra, dico bene? :bubu:
quindi se va dalla parte sbagliata perde uno o piu elementi che doveva contabilizzare.
dovrei usare infatti questa ricerca per restituire un array con l'elenco delle posizioni dell'elemento cercato...
Ma per il motivo suddetto bisognerebbe modificare troppo l'algoritmo, per fargli prendere la strada giusta nella ricerca..
Saluti da Luca