1+ /***
2+ * binary-Search
3+ * let array = [2,4,6,10,90,80]
4+ * console.log(binarySearch(array, 6)); // 2
5+ * console.log(binarySearch(array, 80)); // 4
6+ * console.log(binarySearch(array, 70)); // -1
7+ */
8+ export function binarySearch ( array , target ) {
9+ array = array . sort ( function ( a , b ) { return a - b } ) ;
10+ let startIndex = 0 , endIndex = array . length - 1 ;
11+ while ( startIndex <= endIndex ) {
12+ let middleIndex = Math . floor ( ( startIndex + endIndex ) / 2 ) ;
13+ if ( target === array [ middleIndex ] ) return middleIndex ;
14+ else if ( target > array [ middleIndex ] ) startIndex = middleIndex + 1 ;
15+ else endIndex = middleIndex - 1 ;
16+ }
17+ return - 1 ;
18+ }
19+
20+ /***
21+ * linear-Search
22+ * let array = [2,4,6,10,90,80]
23+ * console.log(linearSearch(array, 6)); // 2
24+ * console.log(linearSearch(array, 80)); // 5
25+ * console.log(linearSearch(array, 70)); // -1
26+ */
27+ export function linearSearch ( array , target ) {
28+ for ( let i = 0 ; i < array . length ; i ++ ) {
29+ if ( target == array [ i ] ) return i ;
30+ }
31+ return - 1 ;
32+ }
0 commit comments