资源描述:
《实验4图的遍历及应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验4图的遍历及应用实验目的1)掌握图的邻接矩阵存储;2)利用邻接矩阵存储图;3)掌握图的邻接表存储;4)利用邻接表存储图并实现图的遍历;实验环境1)硬件:每个学生需配备计算机一台,操作系统:Windows2000/XPo2)软件:visualc++6.0。实验学时3学时实验内容己知图1,分别用邻接矩阵,邻接表表示两种表示法创建gl,g2.图1无向图a实验代码:仃)邻接矩阵:/*Note:YourchoiceisCIDE*/include"stdio.h"include"stdlib.h"intjds,i,j,v
2、=O;charcc;typedefstruct{charg[20],cc[20][20];}ST,*st;voidjjj(sttt){for(i=1;iv=jds;i++){printf("乡备禺%d的邻負点备禺昱:”,i);for(j=1;jv=jds;j++){if(tt->cc[i][j]==,1,)printf(”%d”,j);}voidmain(){styy;printf("福篩入倨A隸:");scanf(”%d",&jds);cc=getchar()y*«t^②乡字冷*/printf(”错角入邻妙
3、施時的所有传:");for(i=1;iv=jds;i++){for(j=1;j<=jds;j++){scanf(”%c”,&yy.cc[i][j]);}}for(i=1;iv=jds;i++){for(j=1;j<=jds;j++){printf(”%c”,yy.cc[i][j]);}}printf(”福握备禺篩入対应的倨点的Q:”);for(j=1;j<=jds;j++){scanf(”%c”,&yy.g[j]);}for(i=1;iv=jds;i++){for(j=1;jv=jds;j++){if
4、(yy.cc[i][j]=T){++v;}}}printf("@的毬敌蛊:%d,,,v/2);printf("®的邻孩Xf:");jjj(&yy);}倨采:请输入结点数:4_请输入邻接矩阵的所有值:0101101101001100.
5、请按编号(r..>输入对应的结点的值:蚯CD_图的边数是:4图的邻接关系图如下:与编号1的邻接点编号是:24与编号2的邻接点编号是:134与编号3的邻接点编号是:2与编号4的邻接点编号是:12邻接表:/*Note:YourchoiceisCIDE*/#include”stdi
6、o.h”#includeHstdlib.hMtypedefstructsnode{intno;charnode;structsnodeext;}sn/zn;typedefstructssize{inthead;structssize*size;inttail;}ss,*zs;inti,jrala1,a2;charcd,ck;zncreatenode(){znpp1,pp2,pp;printfC请输入总结点数:“);scanf("%d”,&a);cd=getchar();printf(H请输入各结点的信息(字符):
7、H);pp=(sn*)malloc(sizeof(sn));pp1=pp;for(i=1;i<=a;i++){pp->no二i;printf("结点%:1:",i);pp・>node=getchar();pp2=(sn*)malloc(sizeof(sn));if(i==a){pp->next=NULL;}else{pp・>next=pp2;PP=PP2;}cd=getchar();}return(pp1);}voidoutputnode(znp){znp1;printf("现在输出所有结点信息:");p
8、1二p;while(p1!=NULL){printf(M结点%d:",p1->no);printf(M%cH,p1->node);printf(,rM);p1=p1->next;}}zscreatesize(znp){zsh1,h21h3;j=1;h1=(ss*)malloc(sizeof(ss));h2=h1;h1->size=(ssx)malloc(sizeof(ss));printfC1请输入各结点指向的编号「结束表无:”);while(p!二NULL){printff结点%01的第%(1个指向:M
9、,p->noj);ck=getchar();h1->head=p->no;h3=(ss*)malloc(sizeof(ss));if(ck==,*'){p=p->next;j=0;}if(p==NULL){h1->size=NULL;}else{h1->size=h3;h1=h3;}j++;}return(h2);}voidp「intmap(zsh){zshi;h1=h;