欢迎来到天天文库
浏览记录
ID:56778068
大小:35.50 KB
页数:6页
时间:2020-07-09
《数据结构实验五 查找的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验五查找的实现一、实验内容1、建立一个线性表,对表中数据元素存放的先后次序没有任何要求。输入待查数据元素的关键字进行查找。为了简化算法,数据元素只含一个整型关键字字段,数据元素的其余数据部分忽略不考虑。建议采用前哨的作用,以提高查找效率。2、查找表的存储结构为有序表,输入待查数据元素的关键字利用折半查找方法进行查找。此程序中要求对整型量关键字数据的输入按从小到大排序输入。二、源代码和执行结果1、#includeusingnamespacestd;#defineMAX100#defineKeyTypeinttypedefstruct{KeyTypekey;}
2、DataType;typedefstruct{DataTypeelem[MAX];intlength;}SeqTable,*PSeqTable;PSeqTableInit_SeqTable(){PSeqTablep=(PSeqTable)malloc(sizeof(SeqTable));if(p!=NULL){p->length=0;returnp;}else{cout<<"Outofspace!"<length>=MAX){cout<<"overf
3、low!"<elem[p->length].key=x;p->length++;return1;}intSeqSearch(SeqTables,KeyTypek){intn,i=0;n=s.length;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_SeqTable();cout<<"请输入数据个数:";cin>>n;cout<<"请输入数据:"<4、l;for(i=0;i>a;insert_SeqTable(p,a);}cout<<"请输入要查找的数据,输入32767结束:";cin>>a;while(a!=32767){i=SeqSearch(*p,a);if(i==-1){cout<<"无此数据!请重新输入:"<>a;}else{cout<<"该数据的位置是:"<>a;}}}2、#includeusingnamespacestd;#defineMAX100#defineKeyTypeint5、typedefstruct{KeyTypekey;}DataType;typedefstruct{DataTypeelem[MAX];intlength;}BinTable,*PBinTable;PBinTableInit_BinTable(){PBinTablep=(PBinTable)malloc(sizeof(BinTable));if(p!=NULL){p->length=0;returnp;}else{cout<<"Outofspace!"<6、>length>=MAX){cout<<"overflow!"<elem[p->length].key=x;p->length++;return1;}intBinSearch(BinTables,KeyTypek){intlow,mid,high;low=0;high=s.length-1;while(low<=high){mid=(low+high)/2;if(s.elem[mid].key==k)returnmid;elseif(s.elem[mid].key>k)high=mid-1;elselow=mid+1;}return-1;}v7、oidmain(){PBinTablep;inti,n;KeyTypea;p=Init_BinTable();cout<<"请输入数据个数:";cin>>n;cout<<"请按从小到大的顺序输入数据:"<>a;insert_BinTable(p,a);}cout<<"请输入要查找的数据,输入32767结束:";cin>>a;while(a!=32767){i=BinSearch(*p,a);if(i==-1){cout<<"无此数据!请重
4、l;for(i=0;i>a;insert_SeqTable(p,a);}cout<<"请输入要查找的数据,输入32767结束:";cin>>a;while(a!=32767){i=SeqSearch(*p,a);if(i==-1){cout<<"无此数据!请重新输入:"<>a;}else{cout<<"该数据的位置是:"<>a;}}}2、#includeusingnamespacestd;#defineMAX100#defineKeyTypeint
5、typedefstruct{KeyTypekey;}DataType;typedefstruct{DataTypeelem[MAX];intlength;}BinTable,*PBinTable;PBinTableInit_BinTable(){PBinTablep=(PBinTable)malloc(sizeof(BinTable));if(p!=NULL){p->length=0;returnp;}else{cout<<"Outofspace!"<6、>length>=MAX){cout<<"overflow!"<elem[p->length].key=x;p->length++;return1;}intBinSearch(BinTables,KeyTypek){intlow,mid,high;low=0;high=s.length-1;while(low<=high){mid=(low+high)/2;if(s.elem[mid].key==k)returnmid;elseif(s.elem[mid].key>k)high=mid-1;elselow=mid+1;}return-1;}v7、oidmain(){PBinTablep;inti,n;KeyTypea;p=Init_BinTable();cout<<"请输入数据个数:";cin>>n;cout<<"请按从小到大的顺序输入数据:"<>a;insert_BinTable(p,a);}cout<<"请输入要查找的数据,输入32767结束:";cin>>a;while(a!=32767){i=BinSearch(*p,a);if(i==-1){cout<<"无此数据!请重
6、>length>=MAX){cout<<"overflow!"<elem[p->length].key=x;p->length++;return1;}intBinSearch(BinTables,KeyTypek){intlow,mid,high;low=0;high=s.length-1;while(low<=high){mid=(low+high)/2;if(s.elem[mid].key==k)returnmid;elseif(s.elem[mid].key>k)high=mid-1;elselow=mid+1;}return-1;}v
7、oidmain(){PBinTablep;inti,n;KeyTypea;p=Init_BinTable();cout<<"请输入数据个数:";cin>>n;cout<<"请按从小到大的顺序输入数据:"<>a;insert_BinTable(p,a);}cout<<"请输入要查找的数据,输入32767结束:";cin>>a;while(a!=32767){i=BinSearch(*p,a);if(i==-1){cout<<"无此数据!请重
此文档下载收益归作者所有