#defineMAX100typedefintkeytype;typedefstruct{keytypekey;}elemtype;typedefstruct{elemtypeelem[MAX">
查找算法的實現(xiàn).doc

查找算法的實現(xiàn).doc

ID:61429594

大小:117.00 KB

頁數(shù):9頁

時間:2021-01-29

查找算法的實現(xiàn).doc_第1頁
查找算法的實現(xiàn).doc_第2頁
查找算法的實現(xiàn).doc_第3頁
查找算法的實現(xiàn).doc_第4頁
查找算法的實現(xiàn).doc_第5頁
資源描述:

《查找算法的實現(xiàn).doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、(一)順序查找#include#defineMAX100typedefintkeytype;typedefstruct{keytypekey;}elemtype;typedefstruct{elemtypeelem[MAX+1];intlength;}SStable;voidcreate_seq(SStable*list);intseq_search(SStable*list,keytypek);voidmain(){SStable*list,table;keytypekey;inti;list=&table;printf("請輸入順序表的

2、長度:");scanf("%d",&list->length);create_seq(list);printf("創(chuàng)建的順表內(nèi)容:");for(i=0;ilength;i++)printf("list.elem[%d].key=%d",i+1,list->elem[i].key);printf("輸入查找關(guān)鍵字:");scanf("%d",&key);seq_search(list,key);}voidcreate_seq(SStable*list){inti;printf("請輸入順序表的內(nèi)容:");for(i=0;i

3、>length;i++){printf("list.elem[%d].key=",i+1);scanf("%d",&list->elem[i].key);}}intseq_search(SStable*list,keytypek){inti=0,flag=0;while(ilength){if(list->elem[i].key==k){printf("查找成功.");flag=1;printf("list.elem[%d].key=%d",i+1,k);}i++;}if(flag==0)printf("沒有找到數(shù)據(jù)%d!",k);

4、return(flag);}(二)折半查找#include#defineMAX100typedefstruct{intelem[MAX+1];intlength;}Stable;voidcreat_seq(Stable*list);intsort_seq(Stable*list);intbin_search(Stable*list,intk,intlow,inthigh);voidmain(){Stable*list,table;inti,key;list=&table;printf("請輸入線性表的長度:");scanf("%d",&li

5、st->length);creat_seq(list);sort_seq(list);printf("請輸入查找的值:");for(i=1;i<=list->length;i++)printf("list.elem[%d].key=%d",i,list->elem[i]);printf(":");scanf("%d",&key);bin_search(list,key,1,list->length);}voidcreat_seq(Stable*list){inti;printf("請輸入順序表的內(nèi)容:");for(i=1;i<=list->l

6、ength;i++){printf("list.elem[%d].key=",i);scanf("%d",&list->elem[i]);}}intsort_seq(Stable*list){inti,j,flag;for(i=1;i<=list->length;i++){flag=0;for(j=1;jlength-i+1;j++)if(list->elem[j]>list->elem[j+1]){list->elem[0]=list->elem[j+1];list->elem[j+1]=list->elem[j];list->elem[j]

7、=list->elem[0];flag=1;}if(flag==0)return1;}}intbin_search(Stable*list,intk,intlow,inthigh){intmid;if(low>high){printf("沒有找到要查找的值");return(0);}mid=(low+high)/2;if(list->elem[mid]==k){printf("查找成功");printf("list[%d]=%d",mid,k);return(mid);}elseif(list->elem[mid]

8、arch(list,k,mid+1,high));e

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。