Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 이진 검색 프로그램

<시간/>

4개의 인수를 취하는 binarySearch()와 같은 함수를 만듭니다. -

  • 정렬된 숫자/문자열 리터럴 배열
  • 배열의 시작 인덱스(0)
  • 배열의 끝 인덱스(길이 - 1)
  • 검색할 번호

배열에 숫자가 있으면 숫자의 인덱스를 반환해야 하며, 그렇지 않으면 -1을 반환해야 합니다. 다음은 전체 코드입니다 -

예시

const arr =[2,4,6,6,8,8,9,10,13,15,17,21,24,26,28,36,58,78,90];//이진 검색 function//그렇지 않으면 요소 인덱스를 반환합니다. -1const binarySearch =(arr, start, end, num) => { const mid =start + Math.floor((end - start)/2); if(start <=end){ if(arr[mid] ===num){ return mid; } if(num  arr[mid]){ return binarySearch(arr, mid+1, end, num); } } 반환 -1;};console.log(binarySearch(arr, 0, arr.length-1, 13));console.log(binarySearch(arr, 0, arr.length-1, 11)); 

출력

콘솔에서 이 코드의 출력은 -

8-1