Binary Search From Astrachan p 392 ----------------------------------- int WordList::Search(string key) // postcondition: returns index at which key occurs in myList // returns -1 if key does not occur { int low = 0; int high = myCount-1; int mid; // middle of current range while (low <= high) { mid = (low + high)/2; if (myList[mid] == key) // found key, exit search { return mid; } else if (myList[mid] < key) // key in upper half { low = mid + 1; } else // key in lower half { high = mid - 1; } } return -1; // not in list }