《数据结构与算法》实验报告姓名学号1367159107班级实验日期第14周(星期二)12月2日第7、8节项目号、实验名称5、图的存储结构算法实验要求(任课教师提供)该实验要求掌握邻接矩阵、邻接表等存储结构的相关算法;2、验证性实验要求在实验前认真研读相关教材,作好充分的预习准备工作,写出实验预习报告;3、学生必须在规定时间内独立完成,对实验过程中出现的问题,要求尽量做到独立思考,独立解决;4、每次实验的结果必须经过教师认可后,实验方可结束;5、要求学生必须认真对待每一个实验,不得缺席、迟到、早退;6、要求实验中认真做好实验记录,实验后认真完成实验报告;实验内容(由学生填写)邻接矩阵的存储法主程序如下:#include<>#include<>#include<>#defineINFINITYINT_MAX#defineMAX_VERTEX_NUM20#defineMAXQSIZE10//最大队列长度#defineFALSE0#RUE1typedefintVRType;typedefintInfoType;typedefcharVertexType;typedefintStatus;typedefintQElemType;typedefstruct{QElemType*base;intfront;intrear;}SqQueue;ell{VRTypeadj;InfoType*info;}ell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct{VertexTypevexs[MAX_VERTEX_NUM];AdjMatrixarcs;intvexnum,um;}MGraph;boolvisited[MAX_VERTEX_NUM];Status(*VisitFunc)(intv);intw;voidCreateGraph(MGraph&G);//邻接矩阵创建图voidBFSTraverse(MGraphG,Status(*Visit)(intv));//邻接矩阵的广度遍历voidDFSTraverse(MGraphG,Status(*Visit)(intv));//邻接矩阵的深度遍历voidDFS(MGraphG,intv);StatusprintGraph(intv);intFirstAdjVex(MGraphG,intv);//返回图G中顶点v的第一个邻接点。若不存在邻接点,则返回0。intNextAdjVex(MGraphG,intv,intw);//返回图G中顶点v的邻接点中处于w之后的那个邻接点,若不存在这样的邻接点,则返回0。StatusInitQueue(SqQueue&);StatusEnQueue(SqQueue&,QElemType);StatusDeQueue(SqQueue&,QElemType&);StatusQueueEmpty(SqQueue);voidmain(void){inti,j;MGraphG;{//创建图的邻接矩阵cout<<"开始创建图的邻接矩阵......"<<endl;CreateGraph(G);}{//邻接矩阵的广度遍历代码块cout<<"邻接矩阵的广度遍历......"<<endl;for(i=0;i<;i++){for(j=0;j<;j++){cout<<[i][j].adj;cout<<"\t";}cout<<endl;}cout<<"\n遍历结果为:"<<endl;BFSTraverse(G,printGraph);}cout<<endl;{//邻接矩阵的深度遍历代码块cout<<"邻接矩阵的深度遍历......"<<endl;for(i=0;i<;i++){for(j=0;j<;j++){cout<<[i][j].adj;cout<<"\t";}cout<<"\n";}cout<<"\n遍历结果为:"<<endl;DFSTraverse(G,printGraph);}}voidCreateGraph(MGraph&G){intweigh;inti,j=0,k=0;charhand,tide;cout<<"um:";cin>>>>;for(i=0;i<;i++){for(j=0;j<;j++)[i][j].adj=88;}cout<<endl;cout<<"input"<<<<"charforvexs(use-enter-tochange):";for(i=0;i<;i++)cin
邻接矩阵、邻接表等存储结构的相关算法 来自淘豆网m.daumloan.com转载请标明出处.