|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 小黄练编程 于 2021-12-25 21:34 编辑
- #include<stdio.h>
- int sde(int *nums,int len, int target)
- {
- int low,high,mid;
- low=0;
- high=len-1;
- while(low<=high)
- {
- mid=(low+high)/2;
- if(nums[mid]==target)
- return mid;
- else if(nums[mid]>target)
- high=mid-1;
- else low=mid;
- }
- return -1;
- }
- int main()
- {
- int a[4]={1,2,3,4},c;
- int len=sizeof(a)/sizeof(int);
- c=sde(a,len,5);
- if(c)
- printf("%d",a[c]);
- else
- printf("no found");
- }
复制代码 
本帖最后由 jhq999 于 2021-12-25 21:59 编辑
- #include<stdio.h>
- int sde(int *nums,int len, int target)
- {
- int low,high,mid;
- low=0;
- high=len-1;
- while(low<=high)
- {
- mid=(low+high)/2+(low+high)%2;//////////
- if(nums[mid]==target)
- return mid;
- else if(nums[mid]>target)
- high=mid-1;
- else if(nums[mid]<target)////////////
- {
- low=mid+1;//////////
-
- }
- }
- return -1;
- }
- int main()
- {
- int a[4]={1,2,3,4},c;
- int len=sizeof(a)/sizeof(int);
- c=sde(a,len,3);
- if(c>-1)
- printf("%d",a[c]);
- else
- printf("no found");
- }
复制代码
|
|