二分查找算法:
int counter = 1;
int BinarySearch(int p[], int n, int key)
{
int left;
int right;
int middle;
left = 0;
right = max - 1;
while(left <= right)
{
middle = (left + right)/2;
if(key < p[middle])
right = middle - 1;
else if(key > p[middle])
left = middle + 1;
else if(key = p[middle])
{
printf(“p[%d] = &d\n”,middle, p[middle]);
return;
}
counter++;
}
return 0;
}
算法简单却常用也实用!
阅读(588) | 评论(0) | 转发(0) |