1 int binarySearch(const int list[], int key, int arraySize) 2 { 2 int low = 0; 3 int high = arraySize - 1; 4 5 while (high >= low) 6 { 6 int mid = (low + high) / 2; 7 if (key < list[mid]) 8 high = mid - 1; 9 else if (key == list[mid]) 11 return mid; 12 else 13 low = mid + 1; 14 } 15 16 return -low - 1; // Now high < low 17 }