二分查找

来源:互联网 发布:《人生》知乎 编辑:程序博客网 时间:2024/06/05 15:48
#include <stdio.h>#include <stdlib.h>int binaryFind(int arr[],int len,int key){int low=0,high=len-1,mid;while(low <= high){mid=(low+high)>>1;if(arr[mid]==key) return mid;if(key < arr[mid]) high=mid-1;else low=mid+1;}return -1;}int main(void) {int s[]={1, 2 ,2, 3 ,5, 7 ,8, 34,44 ,324 };int len=sizeof(s)/sizeof(int);printf("find it %d\n",binaryFind(s,len,34));return 0;}