冒泡排序c语言代码 C语言中怎样利用折半查找法(二分查找法)找到数列中的一个数?
C语言中怎样利用折半查找法(二分查找法)找到数列中的一个数?根据要求,使用二分法在指定的数组中找到指定的数字。代码如下:#include<stdio。H>//在长度为len的数组a中查找n,如
C语言中怎样利用折半查找法(二分查找法)找到数列中的一个数?
根据要求,使用二分法在指定的数组中找到指定的数字。代码如下:#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=mid 1mid=(left right)/2}else{right=mid-1mid=(left right)/2}returnindex}intmain(){intarray[]={5、8、13、17、23、25、29、50、53}//数组intlength=9//数组长度intaim=17//查找目标//输出搜索结果,search17array[]:3printf(“search%dinarray[:%dn”,aim,search(array,length,aim))return0}
#注意我对代码的评论。请注意,二进制搜索是在升序数组上执行的。。