Advertisement
Guest User

Untitled

a guest
Aug 4th, 2015
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.56 KB | None | 0 0
  1. var binarySearch = function(arr, record){
  2. var start = 0;
  3. var end = arr.length -1;
  4.  
  5. var middleIndex;
  6. var firstIndex = -1;
  7.  
  8. while(start <= end){
  9. if( start === end){
  10. middleIndex = start;
  11. }else{
  12. // end + start may overflow
  13. middleIndex = Math.floor((end - start) / 2) + start;
  14. }
  15.  
  16. if(arr[middleIndex] === record){
  17. firstIndex = middleIndex;
  18. end = middleIndex -1;
  19. }else if(arr[middleIndex] > record){
  20. end = middleIndex - 1;
  21. }else{
  22. start = middleIndex + 1;
  23. }
  24. }
  25.  
  26. return firstIndex;
  27. };
  28.  
  29. console.log(binarySearch([1,2,3,4,4,4,5,6,7,8], 4));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement