欢迎来到天天文库
浏览记录
ID:41721552
大小:60.08 KB
页数:6页
时间:2019-08-30
《数据结构实验五查找的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验五查找的实现一、实验内容1、建立一个线性表,对表中数据元索存放的先后次序没冇任何要求。输入待杳数据元素的关键字进行杳找。为了简化算法,数据元素只含一个整型关键字字段,数据元素的其余数据部分忽略不考虑。建议采用前哨的作用,以捉高查找效率。2、查找表的存储结构为有序表,输入待查数据元素的关键字利用折半查找方法进行查找。此程序中要求对整型量关键字数据的输入按从小到大排序输入。二、源代码和执行结果1、#includeusingnamespacestd;#dcfincMAX100#defineKeyTypeinttypedefstruct{KcyTypckey;[
2、DataType;typedefstruct{DataTypcclcm[MAX];intlength;JSeqTable,*PSeqTable;PSeqTableInit_SeqTable(){PSeqTablep=(PSeqTable)malloc(sizeof(SeqTable));if(p!=NULL){p->length=0;returnp;)elsecout«nOutofspace!n«endl;returnNULL;intinsert_SeqTable(PSeqTablep,KeyTypex){if(p->length>=MAX){cout«novcrflow!H«
3、cndl;return0;}p->elem[p->length]・key=x;p->length++;return1;}intSeqSearch(SeqTables,KeyTypek){intn,i=0;n=s」ength;s.elem[n].key=k;while(s.elem[i].key!=k)i++;if(i==n)return-1;elsereturni;}voidmain(){PSeqTablep;inti,n;KeyTypea;p=Init_ScqTablc();cout«n请输入数据个数:”;cin»n;cout«HiW输入数据:”«endl;for(i=0;i
4、5、m>usingnamespacestd;#defineMAX100#defineKeyTypeinttypedefstruct{KeyTypekey;}DataType;typedefstructDataTypeelem[MAXJ;intlength;(BinTable,*PBinTable;PBinTableInit_BinTable(){PBinTablep=(PBinTablc)malloc(sizcof(BinTablc));if(p!=NULL){p->length=0;returnp;}else{cout«nOutofspace!n«endl;returnNULL;6、intinsert_BinTable(PBinTablep,KeyTypex){if(p->length>=MAX){coul«Hoverflow!M«endl;return0;}p->elemfp->length].key=x;p->lcngth++;return1;}intBinSearch(BinTables,KeyTypek){intlow、mid,high;low=0;high=slength・1;while(low<=high){mid=(low+high)/2;if(s.elem[midj.key==k)returnmid;elseif(s.elem[mid].k7、ey>k)high=mid-1;elselow=mid+1;return;voidmain(){PBinTablep;inti,n;KeyTypea;p=Init_BinTable();cout«**请输入数据个数:”;cin»n;cout«-W按从小到大的顺序输入数据:n«endl;for(i=0;i
5、m>usingnamespacestd;#defineMAX100#defineKeyTypeinttypedefstruct{KeyTypekey;}DataType;typedefstructDataTypeelem[MAXJ;intlength;(BinTable,*PBinTable;PBinTableInit_BinTable(){PBinTablep=(PBinTablc)malloc(sizcof(BinTablc));if(p!=NULL){p->length=0;returnp;}else{cout«nOutofspace!n«endl;returnNULL;
6、intinsert_BinTable(PBinTablep,KeyTypex){if(p->length>=MAX){coul«Hoverflow!M«endl;return0;}p->elemfp->length].key=x;p->lcngth++;return1;}intBinSearch(BinTables,KeyTypek){intlow、mid,high;low=0;high=slength・1;while(low<=high){mid=(low+high)/2;if(s.elem[midj.key==k)returnmid;elseif(s.elem[mid].k
7、ey>k)high=mid-1;elselow=mid+1;return;voidmain(){PBinTablep;inti,n;KeyTypea;p=Init_BinTable();cout«**请输入数据个数:”;cin»n;cout«-W按从小到大的顺序输入数据:n«endl;for(i=0;i
此文档下载收益归作者所有