// Source: "Software Design ...", John A Robinson, Newnes, 2004, page 223. int search(int x, int array[], int num_in_array) { int middle; int start = 0; int end = num_in_array - 1; while(end >= start) { middle = (start + end)/2; if (array[middle] == x) return(middle); if (array[middle] < x) start = middle + 1; else end = middle - 1; } return(-1); }