#include<>#defineMAXVERTEXNUM20#RUE1#defineFALSE0typedefcharVertexType;typedefintVRType;typedefintStatus;typedefintInfoType;typedefenum{DG,DN,UDG,UDN}GraphKind;ell{//弧的定义VRTypeadj;//VRType是顶点关系类型。//对无权图,用1或0表示相邻否;//对带权图,则为权值类型。InfoType*info;}ell,AdjMatrix[MAXVERTEXNUM][MAXVERTEXNUM];typedefstruct{//图的定义VertexTypevexs[MAXVERTEXNUM];//顶点信息AdjMatrixarcs;//弧的信息intvexnum,um;//顶点数,弧数GraphKindkind;//图的种类标志}MGraph;intvisited[MAXVERTEXNUM];intLocateVex(MGraphG,VertexTypev){inti;for(i=0;i<;i++)if([i]==v)returni;return-1;}voidCreateMGraph(MGraph&G){//建立无向图inti,j,k;charv1,v2;printf("\n输入顶点数和边数(用逗号隔开):");scanf("%d,%d",&,&);getchar();for(i=0;i<;++i){printf("输入顶点%d的值:",i+1);scanf("%c",&[i]);getchar();}for(i=0;i<;++i)for(j=0;j<;++j)[i][j].adj=0;for(k=1;k<=;k++){printf("输入第%d条边的起始顶点和终止顶点(用逗号隔开):",k);scanf("%c,%c",&v1,&v2);i=LocateVex(G,v1);j=LocateVex(G,v2);[i][j].adj=1;[j][i].adj=1;getchar();}}//ENDvoidDFS(MGraphG,inti);voidDFSTraverse(MGraphG){//对图G作深度优先遍历。int
无向图的深度优先遍历序列 来自淘豆网www.taodocs.com转载请标明出处.