int recursiveBinarySearch(int* space, int key, int low, int high)
{
int mid = (low + high) / 2;
if(low > high)
return -1;
if(space[mid] > key)
return recursiveBinarySearch(space, key, low, mid - 1);
else if(space[mid] < key)
return recursiveBinarySearch(space, key, mid + 1, high);
else //space[mid] == key
return mid;
}
int iterativeBinarySearch(int* space, int key)
{
int low = 0;
int high = SIZE - 1;
int mid;
while (low <= high)
{
mid = (low + high) / 2;
if (space[mid] > key)
high = mid - 1;
else if (space[mid] < key)
low = mid + 1;
else //space[mid] == key
return mid;
}
return -1;
}