Another update from ingydotnet^djgoku
This commit is contained in:
parent
91df62d461
commit
948b86eafa
7604 changed files with 108452 additions and 22726 deletions
|
|
@ -1,11 +1,13 @@
|
|||
function binary_search_recursive(a, value, lo, hi) {
|
||||
if (hi < lo)
|
||||
return null;
|
||||
var mid = Math.floor((lo+hi)/2);
|
||||
if (a[mid] > value)
|
||||
return binary_search_recursive(a, value, lo, mid-1);
|
||||
else if (a[mid] < value)
|
||||
return binary_search_recursive(a, value, mid+1, hi);
|
||||
else
|
||||
return mid;
|
||||
if (hi < lo) { return null; }
|
||||
|
||||
var mid = Math.floor((lo + hi) / 2);
|
||||
|
||||
if (a[mid] > value) {
|
||||
return binary_search_recursive(a, value, lo, mid - 1);
|
||||
}
|
||||
if (a[mid] < value) {
|
||||
return binary_search_recursive(a, value, mid + 1, hi);
|
||||
}
|
||||
return mid;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,17 @@
|
|||
function binary_search_iterative(a, value) {
|
||||
lo = 0;
|
||||
hi = a.length - 1;
|
||||
while (lo <= hi) {
|
||||
var mid = Math.floor((lo+hi)/2);
|
||||
if (a[mid] > value)
|
||||
hi = mid - 1;
|
||||
else if (a[mid] < value)
|
||||
lo = mid + 1;
|
||||
else
|
||||
return mid;
|
||||
var mid, lo = 0,
|
||||
hi = a.length - 1;
|
||||
|
||||
while (lo <= hi) {
|
||||
mid = Math.floor((lo + hi) / 2);
|
||||
|
||||
if (a[mid] > value) {
|
||||
hi = mid - 1;
|
||||
} else if (a[mid] < value) {
|
||||
lo = mid + 1;
|
||||
} else {
|
||||
return mid;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue