二分法初学
初学二分法,第一次自己尝试打的
有几点要注意的
1.中间下标一定要放在循环内
2.查找成功的那条,特别容易忘记break
3.最好构建之前有个清晰的构建思路,本人的思路仅供参考
//二分法查找
//1.准备阶段
//a.被查找数组arr和查找目标k
//b.数组元素个数sz
//c.左中右数组下标(left/mid/right)
//2.二分法系统
自己第一次打的
#include
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};//被查找的数组
int k=2;//查找目标
//scanf("%d",&k);//想实现随意查找
int sz=(sizeof(arr)/sizeof(arr[0]));//数组个数sz=10
int left=0;//左下标
int right=sz-1;//右下标=数组元素个数-1
//构建二分法
hile(left<=right)//这里的大于等于,等于不可漏!!!
{
int mid=(left+right)/2;//中间下标,一定要将中间下标放到循环内部,才能重新定义中间下标
if(arr[mid]
else if(arr[mid]>k)//目标在中间量左边时
{ right=mid-1; }//将右下标调整到原中间下标的左边,中间下标也随之改变
else if(arr[mid]=k)//目标刚好等于中间量时
{printf("找到目标,下标为%dn",mid); break;}//即找到目标,注意找到目标后要退出循环!!!
}
if(left>right)//当左下标小于右下标时,整个数组都不存在目标
{ printf("该数组不存在你要找到数"); }
getchar();
return 0;
}
空调维修
- 温岭冰箱全国统一服务热线-全国统一人工【7X2
- 荆州速热热水器维修(荆州热水器维修)
- 昆山热水器故障码5ER-昆山热水器故障码26
- 温岭洗衣机24小时服务电话—(7X24小时)登记报
- 统帅热水器售后维修服务电话—— (7X24小时)登
- 阳江中央空调统一电话热线-阳江空调官方售后电
- 乌鲁木齐阳春燃气灶厂家服务热线
- 珠海许昌集成灶售后服务电话-全国统一人工【
- 乌鲁木齐中央空调维修服务专线-乌鲁木齐中央空
- 新沂热水器故障电话码维修-新沂热水器常见故障
- 诸城壁挂炉24小时服务热线电话
- 靖江空调24小时服务电话-——售后维修中心电话
- 空调室外滴水管维修(空调室外排水管维修)
- 九江壁挂炉400全国服务电话-(7X24小时)登记报修
- 热水器故障码f.22怎么解决-热水器f0故障解决方法
- 营口热水器售后维修服务电话—— 全国统一人工