#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; }
折半查找算法/二分查找算法
原创
©著作权归作者所有:来自51CTO博客作者拾.的原创作品,谢绝转载,否则将追究法律责任
上一篇:在一个有序数组中查找某个数
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C 语言中的折半查找算法(二分查找算法)
C语言中的拆半查找算法(二分查找算法)
折半查找 有序表 二分查找 -
折半查找法(二分查找)
折半查找法(二分查找) 概念:分查找又称折半查找,优点是比较次
二分查找 二分法 折半查找 有序表 -
算法----二分查找算法
二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,
二分查找算法 数组 #include