Auf Thema antworten

Stark an dem Wiki-Artikel orientiert, habe ich nun Folgendes:


[code=Java]public int searchInArray(int indexStart, int indexEnd, int searchedNumber, int[] array){


if( indexStart > indexEnd){

   if( searchedNumber < array[indexStart] ) return (indexEnd + 1) * (-1) -1;

  

   if( searchedNumber > array[indexStart] ) return (indexStart +1) * (-1) -1;

}


int indexMiddle = indexStart + ( (indexEnd - indexStart) / 2 );


if( searchedNumber < array[indexMiddle] ){

     return searchInArray( indexStart, indexMiddle - 1, searchedNumber, array);

  }


if( searchedNumber > array[indexMiddle] ){

     return searchInArray( indexMiddle + 1, indexEnd, searchedNumber, array );

  }


return indexMiddle;


}[/code]



Ich habe mir das an zwei, drei Beispielen mal angesehen und m.E. haut es hin.

Am PC habe ich's allerdings noch nicht getestet, sondern nur händisch.



LG Dennis


[Ein Feedback ist wie immer willkommen. ;)]



Oben