/**
* binary search algorithm implementation.
*
* @param[in] array An integer array of size array_size
* @param[in] array_size Size of the array
* @param[in] search_key Search item
*
* @return if search is successful, position of the search_item else -1
*/
int binary_search(const int array[], const int array_size, const int search_key)
{
int low, high, mid;
low = 0;
high = array_size-1;
while (low <= high) {
mid = (low + high) / 2;
if (search_key < array[mid])
high = mid - 1;
else if (search_key > array[mid])
low = mid + 1;
else
return mid; /* search_key found at mid */
}
return -1; /* search failed, search_key is not present */
}
Thursday, March 20, 2008
sample post
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment