从品牌网站建设到网络营销策划,从策略到执行的一站式服务
递归,分而治之,其思想是将n个元素分成大致相同数目的两半,取a[n/2]与要找到的X进行比较,如果X=a[n/2],则找到X,算法结束。如果X<A[n/2],那么我们只需要继续在数组a的左半部分搜索X(假设数组元素按升序排列)。如果X>A[n/2],那么我们只需要在数组a的右半部分继续搜索X。
根据需要,使用二分法在指定的数组中找到指定的数字。代码如下:#include<stdio。H>//在长度为len的数组a中查找n,如果找到则返回数组下标,并返回-1intsearch(inta[]intlen,INTN){intindex=-1intleft=0,right=len,mid=(left)}right)/2while(left<=right){if(n==a[mid]){index=midbreak}elseif(n>a[mid]){left=mid1mid=(leftright)/2}else{right=mid-1mid=(leftright)/2}returnindex}intmain(){intarray[]={5、8、13、17、23、25、29、50、53}//数组intlength=9//数组长度intaim=17//查找目标//输出搜索结果,search17array[]:3printf(“search%dinarray[:%d\n”,aim,search(array,length,aim))return0}
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图