武汉纺织大学《数据结构》实验报告4Word格式.docx
- 文档编号:15845886
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:13
- 大小:340.32KB
武汉纺织大学《数据结构》实验报告4Word格式.docx
《武汉纺织大学《数据结构》实验报告4Word格式.docx》由会员分享,可在线阅读,更多相关《武汉纺织大学《数据结构》实验报告4Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
②、输入带查找关键字,在哈希表中进行查找;
已知:
哈希函数为H(key)=keyMOD11,采用开放地址法、线性探测再散列解决冲突,输入元素为{55,19,31,23,68,20,27,9,10,79}。
三、操作步骤:
Test1
代码:
T1.Java
packageFirst;
importjava.util.Scanner;
publicclassT1{
publicstaticvoidmain(String[]args){
inti;
intn;
Scannersc=newScanner(System.in);
SeqList<
Integer>
sl=newSeqList<
(10);
sl.insert(0,3);
sl.insert(6,1);
sl.insert(6,0);
sl.insert(8,6);
sl.insert(7,2);
sl.insert(2,9);
sl.insert(4,1);
sl.insert(5,4);
sl.insert(6,8);
sl.insert(1,7);
System.out.print("
顺序表中各元素:
"
);
System.out.println(sl.toString());
System.out.println("
<
查找元素>
输入元素:
i=sc.nextInt();
n=sl.indexOf(i);
if(n!
=-1)
System.out.println("
元素"
+i+"
位于第"
+n+"
位"
}
}
LList.java
publicinterfaceLList<
T>
{
booleanisEmpty();
intlength();
Tget(inti);
voidset(inti,Tx);
voidinsert(inti,Tx);
Tremove(inti);
voidremoveAll();
}
SeqList.java
publicclassSeqList<
implementsLList<
privateObject[]element;
privateintlen;
publicSeqList(intsize){
this.element=newObject[size];
this.len=0;
publicSeqList(){
this(64);
publicbooleanisEmpty(){
returnthis.len==0;
publicintlength(){
returnthis.len;
publicTget(inti){
if(i>
=0&
&
i<
this.len)
return(T)this.element[i];
returnnull;
publicvoidset(inti,Tx){
if(x==null)
return;
this.element[i]=x;
else
thrownewIndexOutOfBoundsException(i+"
publicStringtoString(){
Stringstr="
("
;
if(this.len>
0)
str+=this.element[0].toString();
for(inti=1;
this.len;
i++)
str+="
"
+this.element[i].toString();
returnstr+"
)"
publicvoidinsert(inti,Tx){
if(x==null)
return;
if(this.len==element.length){
Object[]temp=this.element;
this.element=newObject[temp.length*2];
for(intj=0;
j<
temp.length;
j++)
this.element[j]=temp[j];
if(i<
0)
i=0;
if(i>
this.len)
i=this.len;
for(intj=this.len-1;
j>
=i;
j--)
this.element[j+1]=this.element[j];
this.element[i]=x;
this.len++;
publicvoidappend(Tx){insert(this.len,x);
publicTremove(inti){
if(this.len==0||i<
0||i>
=this.len)
Told=(T)this.element[i];
for(intj=i;
this.len-1;
this.element[j]=this.element[j+1];
this.element[this.len-1]=null;
this.len--;
returnold;
publicvoidremoveAll(){this.len=0;
publicintindexOf(Tkey){
if(key!
=null)
for(inti=0;
i<
this.len;
i++)
if(this.element[i].equals(key))
returni;
return-1;
publicTsearch(Tkey){
intfind=this.indexOf(key);
returnfind==-1?
null:
(T)this.element[find];
}publicbooleancontain(Tkey){
returnthis.indexOf(key)>
=0;
}}
运行结果:
Test2
T2.java
packageSecond;
publicclassT2{
publicstaticvoidmain(String[]args){
inta[]={5,11,23,15,17,38,90,121,132,164};
intsearch=38;
intlower=0;
inttemp=a.length-1;
intindex=-1;
while(lower<
=temp){
index=(lower+temp)/2;
intcurrentValue=a[index];
if(currentValue==search){
break;
}
elseif(currentValue<
search){
lower=index+1;
}else{
temp=index-1;
}
}
for(inti=0;
i<
10;
i++){
System.out.print(a[i]);
"
if(lower<
查找元数"
+search);
位于数组中第"
+(index+1)+"
}else{
System.out.println("
里面没有这个元素"
}
Test3
T3.java
packageThree;
publicclassT3{
staticHashTableT=null;
publicstaticvoidcreateHashtable()throwsException{
T=newHashTable(20);
Scannersc=newScanner(System.in);
System.out.print("
请输入待查找的关键字的个数:
intn=sc.nextInt();
请输入查找表中的关键字序列:
for(inti=0;
n;
i++){
T.hashInsert(sc.nextInt());
publicstaticvoidmain(String[]args)throwsException{
System.out.println("
创建哈希表>
createHashtable();
创建的哈希表为:
T.Hashdisplay();
输入待查找的关键字:
intkey=sc.nextInt();
RecordNodep=T.hashSearch(key);
if((p.getKey()).compareTo(key)==0)
System.out.pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 武汉 纺织 大学 实验 报告