#include <stdio.h>

/*
 * Program to 
 * Terry Harvey CISC 105 section 98 TA Janet
 */

int binSearch(int data[], int start, int end, int key);

int main(){
    int i, j;
    int data[100];
    
    for(i = 0; i < 100; i++)
	data[i] = i * 2;

    for(j = 0; j < 200; j++)
	printf("found key %d at index %d\n", j, binSearch(data, 0, 99, j));
    
    return 0;
}

/*
 * Initial value of start is 0.
 * Initial value of end is array (size - 1).
 * Returns -1 if key not found
 */
int binSearch(int data[], int start, int end, int key){

    if (start > end) //number is not there
	return -1;

    int mid = (start + end)/2;

    if (data[mid] < key)
	return binSearch(data, mid + 1, end, key);
    else if (data[mid] > key)
	return binSearch(data, start, mid -1, key);
    else //equal to key
	return mid;
}
