c語(yǔ)言在數(shù)組中查找指定元素 C語(yǔ)言中怎樣利用折半查找法(二分查找法)找到數(shù)列中的一個(gè)數(shù)?
C語(yǔ)言中怎樣利用折半查找法(二分查找法)找到數(shù)列中的一個(gè)數(shù)?根據(jù)要求,使用二分法在指定的數(shù)組中找到指定的數(shù)字。代碼如下:#include<stdio。H>//在長(zhǎng)度為len的數(shù)組a中查找n,如
C語(yǔ)言中怎樣利用折半查找法(二分查找法)找到數(shù)列中的一個(gè)數(shù)?
根據(jù)要求,使用二分法在指定的數(shù)組中找到指定的數(shù)字。代碼如下:#include<stdio。H>//在長(zhǎng)度為len的數(shù)組a中查找n,如果找到則返回?cái)?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ù)組長(zhǎng)度intaim=17//查找目標(biāo)//輸出搜索結(jié)果,search17inaray[]:3printf(“search%dinarray[:%dn”,aim,search(array,length,aim))return0}
1。打開(kāi)Python開(kāi)發(fā)工具idle并創(chuàng)建一個(gè)新的搜索.py’。
2. F5運(yùn)行程序,列表1排序正確。寫(xiě)這篇文章的目的是說(shuō)明二進(jìn)制搜索必須基于有序列表。如果一開(kāi)始就亂了,必須先排序。當(dāng)數(shù)據(jù)量較大時(shí),快速排序是一個(gè)不錯(cuò)的選擇,然后進(jìn)行二進(jìn)制搜索。三。根據(jù)遞歸的思想,遞歸必須有一個(gè)結(jié)束條件。4如果len(LI)==1:#LI length=1,則僅將此列表元素與要查找的值進(jìn)行比較,返回LI[0]==item。5如果len(LI)==0:#LI length等于0,則所有搜索都將完成,且該值不返回false。6將main方法添加到程序中。7運(yùn)行F5程序,正確打印出二進(jìn)制搜索結(jié)果,假為真。