資源描述:
《順序查找和折半查找.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、注:正面實(shí)驗(yàn)題目、實(shí)驗(yàn)時間、姓名、學(xué)號和專業(yè)年級均不寫實(shí)驗(yàn)?zāi)康募耙螅毫私夂驼莆侦o態(tài)查找表的查找過程;掌握順序查找算法;掌握折半查找算法要求完成靜態(tài)查找表的順序查找和折半查找算法的實(shí)現(xiàn)。實(shí)驗(yàn)設(shè)備環(huán)境及要求:PC機(jī)一臺,內(nèi)存要求128M以上,VC++6.0集成開發(fā)環(huán)境。實(shí)驗(yàn)內(nèi)容與步驟:1、在VC++6.0環(huán)境中新建一個工程和C++文件;2、實(shí)現(xiàn)靜態(tài)查找表的順序查找和折半查找算法,代碼如下:#include#includetypedefintKeyType;typedefstruct{KeyTypekey;//InfoTyped
2、ata;}ElemType;typedefstruct{ElemType*elem;intlength;}SSTable;intSearch_Sq(SSTableST,KeyTypekey){ST.elem[0].key=key;for(inti=ST.length;ST.elem[i].key!=key;--i);returni;}intBinSearch(SSTableST,KeyTypekey){intlow,high,mid;low=1;high=ST.length;while(low<=high){mid=(low+high)/2;if(ST.elem
3、[mid].key==key)returnmid;elseif(ST.elem[mid].key>key)high=mid-1;elselow=mid+1;}return0;}voidmain(){KeyTypea[]={0,13,24,35,32,65,19,7,74,20,38};SSTableT;T.elem=(ElemType*)malloc(11*sizeof(ElemType));T.length=10;for(inti=1;i<=10;i++)T.elem[i].key=a[i];printf("要找的元素的位置為%d",Search_Sq(T
4、,35));SSTableS;S.elem=(ElemType*)malloc(11*sizeof(ElemType));S.length=10;KeyTypeb[]={0,2,4,6,8,10,12,14,16,18,20};for(intk=1;k<=10;k++)S.elem[k].key=b[k];printf("要進(jìn)行折半查找的元素的位置為%d",BinSearch(S,14));}實(shí)驗(yàn)指導(dǎo)與數(shù)據(jù)處理:實(shí)驗(yàn)結(jié)果:要找的元素的位置為3要進(jìn)行折半查找的元素的位置為7分析討論:本次實(shí)驗(yàn)通過對靜態(tài)查找表的順序查找和折半查找算法的實(shí)現(xiàn),加深了對靜態(tài)查找表查找
5、過程的理解,并且熟悉了VC++6.0集成環(huán)境,雖然在調(diào)試過程中遇到一些問題,但經(jīng)分析后達(dá)到了預(yù)期的結(jié)果。