冒泡排序c語言代碼 C語言中怎樣利用折半查找法(二分查找法)找到數(shù)列中的一個數(shù)?
C語言中怎樣利用折半查找法(二分查找法)找到數(shù)列中的一個數(shù)?根據(jù)要求,使用二分法在指定的數(shù)組中找到指定的數(shù)字。代碼如下:#include<stdio。H>//在長度為len的數(shù)組a中查找n,如
C語言中怎樣利用折半查找法(二分查找法)找到數(shù)列中的一個數(shù)?
根據(jù)要求,使用二分法在指定的數(shù)組中找到指定的數(shù)字。代碼如下:#include<stdio。H>//在長度為len的數(shù)組a中查找n,如果找到則返回數(shù)組下標(biāo),并返回-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}//數(shù)組intlength=9//數(shù)組長度intaim=17//查找目標(biāo)//輸出搜索結(jié)果,search17array[]:3printf(“search%dinarray[:%dn”,aim,search(array,length,aim))return0}
#注意我對代碼的評論。請注意,二進制搜索是在升序數(shù)組上執(zhí)行的。。