一、线性查找
int search(int* a,int n,int key)
{
int i = 0;
a[n] = key;
while(a[i] != key)
{
i++;
}
return i;
}
二、二分查找
前提条件:元素必须是按升序或降序排列
int binarySearch(int* a,int n,int key)
{
int left = 0;
int right = n;
int mid;
while(left < right)
{
mid = (right - left) / 2;
if(key == a[mid])
return mid;
if(key > a[mid])
left = mid + 1;
if(key < a[mid])
right = mid;
}
}