欢迎来到天天文库
浏览记录
ID:35342270
大小:91.16 KB
页数:19页
时间:2019-03-23
《实验六图及图的操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验报告六图及图的操作实验一、实验目的:1、掌握图的基本概念和术语2、掌握图的存储结构及创建算法。3、掌握图的遍历算法(递归或非递归算法)。二、实验内容:1、图邻接矩阵存储结构表示及基本操作算法实现(1)邻接矩阵存储结构类定义:自定义如下:publicinterfaceLList{booleanisEmpty();intlength();Tget(inti);voidset(inti,Tx);voidinsert(inti,Tx);voidappend(Tx);Tremove(inti);voidremoveAll();publicclassSeqListimplement
2、sLList{privateObject[]element;privateintlen;publicSeqList(intsize){this.element二newObject[size];this.len二0;}publicSeqList(SeqListlist){this(list・len);this・len=list・len;}publicSeqList(){this(64);}publicbooleanisEmpty(){returnthis・len==0;publicintlength(){returnthis.len;}publicTget(inti){if(
3、i>=0&&i4、~il;returnnull;}publicvoidset(inti,Tx){if(x==null)return;if(i>=0&&ielement[i]=x;elsethrownewIndexOutOfBoundsException(i+fE)}publicStringtoString(){Stringstr=”(“;if(this.len>0)str+=this.element[0].toString();for(inti=l;i5、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=i;j--)this.ele6、ment[j+l]=this.element[j];this.element[i]=x;thistlen++;publicvoidappend(Tx){insert(this.len^x);}publicTremove(inti){if(this.len==07、8、i<09、10、i>=len)returnnull;Told=(T)this.element[~il;for(intj=0;jelement[j+1];this•element[this•len-l]=null;this.len--;returnold;}publicvo11、idremoveAll(){this.len=0;}}(2)创建邻接矩阵算法创建无向图邻接矩阵算法:publicclassMatrixG「aph{protectedSeqListvertexlist;protestedint[][]adjmatrix;privatefinalintMax=0;publicMatrixGraph(intsize){size=size<10?10:size;this>vertexlist二newSeqList(size);this.adjmatrix=newint[size][size];for(inti=0;i12、(intj=0;j
4、~il;returnnull;}publicvoidset(inti,Tx){if(x==null)return;if(i>=0&&ielement[i]=x;elsethrownewIndexOutOfBoundsException(i+fE)}publicStringtoString(){Stringstr=”(“;if(this.len>0)str+=this.element[0].toString();for(inti=l;i5、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=i;j--)this.ele6、ment[j+l]=this.element[j];this.element[i]=x;thistlen++;publicvoidappend(Tx){insert(this.len^x);}publicTremove(inti){if(this.len==07、8、i<09、10、i>=len)returnnull;Told=(T)this.element[~il;for(intj=0;jelement[j+1];this•element[this•len-l]=null;this.len--;returnold;}publicvo11、idremoveAll(){this.len=0;}}(2)创建邻接矩阵算法创建无向图邻接矩阵算法:publicclassMatrixG「aph{protectedSeqListvertexlist;protestedint[][]adjmatrix;privatefinalintMax=0;publicMatrixGraph(intsize){size=size<10?10:size;this>vertexlist二newSeqList(size);this.adjmatrix=newint[size][size];for(inti=0;i12、(intj=0;j
5、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=i;j--)this.ele
6、ment[j+l]=this.element[j];this.element[i]=x;thistlen++;publicvoidappend(Tx){insert(this.len^x);}publicTremove(inti){if(this.len==0
7、
8、i<0
9、
10、i>=len)returnnull;Told=(T)this.element[~il;for(intj=0;jelement[j+1];this•element[this•len-l]=null;this.len--;returnold;}publicvo
11、idremoveAll(){this.len=0;}}(2)创建邻接矩阵算法创建无向图邻接矩阵算法:publicclassMatrixG「aph{protectedSeqListvertexlist;protestedint[][]adjmatrix;privatefinalintMax=0;publicMatrixGraph(intsize){size=size<10?10:size;this>vertexlist二newSeqList(size);this.adjmatrix=newint[size][size];for(inti=0;i12、(intj=0;j
12、(intj=0;j
此文档下载收益归作者所有