书-二分查找找某个数字p155
2023-12-13 06:06:18
#include<stdio.h>
int main(){
int a[10]={1,4,5,6,7,8,23,34,90,14567};
int mid;
int low=0;
int high=9;
while(low<high){
mid=(low+high)/2;//数组分成两段,前一段low-mid,后一段mid-high
if (a[mid]<23)//因为已经是排序好的了,所以如果mid<目标,说明前面一段没有,那就从后半段找
low=mid+1;//那么此时查找就是从原来的mid后一个到最后的high
else if(a[mid]>23)//mid如果>目标,就是说明目标就在前面这一段里
high=mid-1;//那么此时查找的就是从low到现在新的high(就是原来mid的前面一个)
else
break;
}
if(low>high)
printf("没找到哈\n");
else
printf("找到了目标哈,下标是%d",mid+1);
return 0;
}
文章来源:https://blog.csdn.net/becomeyee/article/details/134949987
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!