以下是二分查找的功能实现,要求有序数组,时间复杂度O(logn),应该是有序数组查找的首选了。
bool BinarySearch(key_t sortArray[], int n, key_t key)
{
int index1 = 0, index2 = n, mid;
while(index1 <= index2) {
mid = (index1 + index2)/2;
if (sortArray[mid] == key) return true;
if (key > sortArray[mid]) index1 = mid+1;
else index2 = mid-1;
}
return false;
}