数据结构实验五 查找的实现文档格式.docx
《数据结构实验五 查找的实现文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构实验五 查找的实现文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
![数据结构实验五 查找的实现文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/24/cba984c8-04c8-4abf-802b-1dbacab15ce7/cba984c8-04c8-4abf-802b-1dbacab15ce71.gif)
iostream>
usingnamespacestd;
#defineMAX100
#defineKeyTypeint
typedefstruct
{
KeyTypekey;
}DataType;
DataTypeelem[MAX];
intlength;
}SeqTable,*PSeqTable;
PSeqTableInit_SeqTable()
PSeqTablep=(PSeqTable)malloc(sizeof(SeqTable));
if(p!
=NULL)
{
p->
length=0;
returnp;
}
else
cout<
<
"
Outofspace!
endl;
returnNULL;
}
intinsert_SeqTable(PSeqTablep,KeyTypex)
if(p->
length>
=MAX)
overflow!
return0;
p->
elem[p->
length].key=x;
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;
else
returni;
voidmain()
PSeqTablep;
inti,n;
KeyTypea;
p=Init_SeqTable();
cout<
请输入数据个数:
;
cin>
>
n;
请输入数据:
for(i=0;
i<
n;
i++)
cin>
a;
insert_SeqTable(p,a);
请输入要查找的数据,输入32767结束:
while(a!
=32767)
i=SeqSearch(*p,a);
if(i==-1)
{
cout<
无此数据!
请重新输入:
cin>
}
else
该数据的位置是:
i+1<
请输入要查找的数据:
2、
}BinTable,*PBinTable;
PBinTableInit_BinTable()
PBinTablep=(PBinTable)malloc(sizeof(BinTable));
intinsert_BinTable(PBinTablep,KeyTypex)
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;
low=mid+1;
return-1;
PBinTablep;
p=Init_BinTable();
请按从小到大的顺序输入数据:
insert_BinTable(p,a);
i=BinSearch(*p,a);
if(i==-1)
WelcomeTo
Download!
!
欢迎您的下载,资料仅供参考!