//练习
在一个有序数组中查找具体的某个数字n,
编写int binsearch (intx, intv[],int n);功能:
在v[0]<=v[1]<=v[2]<=...<=[n-1]的数组中查找x
- 法一
//必须有序数列一个一个按顺序查找
- 法二
//二分法,无需有序数列
//二分法代码
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
int left = 0;
int k = 7;
int sz = sizeof(arr)/sizeof(arr[0]);
int right = sz - 1;
int mid = (left + right)/2;
while(left<=right)
{
if (arr[mid]>k)
{
right = mid-1;
}
else if(arr[mid]>k)
{
left=mid+1;
}
else
{
printf("找到了,下标是:%d\n",mid);
break;
}
}
if(left>right)
{
printf("找不到\n");
}
system("pause");
return 0;
}