首页 > 编程语言 > 详细

折半查找算法/二分查找算法

时间:2021-06-01 15:14:02      阅读:18      评论:0      收藏:0      [点我收藏+]
#include<stdio.h>
int?main()
{
????int?arr[]={0,1,2,3,4,5,6,7,8,9,10}
????int?sz=sizeof(arr)/sizeof([0]);//计算元素个数。
????int?k=7;//在数组中找元素7。
????int?left=0;//左边元素下标。
????int?right=sz-1;//右下标为元素个数减1。
????//下面为二分查找循环体,需要进行多次,与要加循环
????while(left<=right)//满足left<=right时,才能查找。
????{
????????int?mid=(right+left)//2;求出中间元素下标
????????if(arr[mid]<k)//中间元素下标所确定的元素与要找的元素比较。
????????{
????????????left=mid+1;//中间元素小于要找元素时,左下标变为中间下标加1,继续查找。
????????}
?????????else?if(arr[mid]>k)
?????????{
?????????????right=mid-1;//中间元素大于要找元素时,右下标变为中间下标减1,继续查找。
?????????}
????????else
????????{
????????????printf("找到了,下标是:%d\n",mid);//当中间元素与查找的元素相同时,找到了。
????????????break;//跳出循环。
????????}
?????}
?????if(left>right)
?????{
?????????printf("找不到\n");
?????}
?????return?0;
?}


折半查找算法/二分查找算法

原文:https://blog.51cto.com/u_15159248/2840201

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!