版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#define Infinity 1000#define MaxVertexNum 35#define MAX 40#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#include<iostream.h>typedef struct arcell /±ßµÄȨֵÐÅÏ¢int adj; /ȨÖ
2、;µarcell,adjmatrixMaxVertexNumMaxVertexNum; /ͼµÄÁÚ½Ó¾ØÕóÀàÐÍtypedef struct vexsinfo /¶¥µãÐÅÏ¢int position; /¾°µãµÄ±àºÅchar n
3、ame32; /¾°µãµÄÃû³Æchar introduction256; /¾°µãµÄ½éÉÜvexsinfo;typedef struct mgraph /ͼ½á¹¹ÐÅÏ¢vexsinfo vexsMaxVertexNum; /¶¥µãÏ
4、;òÁ¿(Êý×é)adjmatrix arcs; /ÁÚ½Ó¾ØÕóint vexnum,arcnum; /·Ö±ðÖ¸¶¨¶¥µãÊýºÍ±ßÊýmgraph;/È«¾Ö±äÁ
5、¿int visited35; /ÓÃÓÚ±êÖ¾ÊÇ·ñÒѾ·ÃÎʹýint d35; /ÓÃÓÚ´æ·ÅȨֵ»ò´æ´¢Â·¾¶
6、2;¥µã±àºÅmgraph campus; /ͼ±äÁ¿(´óѧУ԰)/ (1) ¶Ôͼ³õʼ»¯mgraph initgraph()int i=0,j=0;mgraph c;c.vexnum =28; /¶¥µã¸
7、6;Êýc.arcnum =39; /±ßµÄ¸öÊýfor(i=0;i<c.vexnum ;i+) /ÒÀ´ÎÉèÖö¥µã±àºÅc.vexsi.position =i;/ÒÀ´ÎÊäÈë¶¥µãÐ
8、ÅÏ¢strcpy( ,"СÎ÷ÄÏÃÅ");strcpy(roduction ,"À빫½»Õ¾½ü");strcpy( ,"ѧУÄÏÕýÃÅ");s
9、trcpy(roduction ,"ѧУ´óÃÅ¡¢Ñ§Ð£°à³µ½ø³ö¿Ú");strcpy( ,"ÓïÑÔÎÄ»¯Ö°ÒµÑ§
10、12;º");strcpy(roduction ,"ÓïÑÔÎÄ»¯Ö°ÒµÑ§Ôº°ì¹«Â¥£¬Â¥¸ß6²ã");strcpy( ,"ÒÕÊõÑ
11、167;Ôº");strcpy(roduction ,"ÒôÀÖϵ¡¢ÃÀÊõϵ£¬Â¥¸ß4²ã");strcpy( ,"ÐÐÕþÂ¥");strcpy(roduction ,
12、"ÐÐÕþ°ì¹«´óÂ¥£¬Â¥¸ß5²ã");strcpy(,"ÎÄѧԺ");strcpy(roduction ,"ÎÄѧԺ£¬Â¥
13、¸ß6²ã");strcpy( ,"ÌåÓý³¡");strcpy(roduction ,"ÊÒÍâ±ê×¼Ìï¾¶³¡");strcpy(,"½ÌÓý¿ÆÑ&
14、#167;ѧԺ");strcpy(roduction ,"½ÌÐÄϵ¡¢¾¹Üϵ£¬Â¥¸ß5²ã");strcpy( ,"ÄÏÇøÑ§ÉúËÞ
15、Éá");strcpy(roduction ,"ÀëÎ÷ÄÏÃŽü");strcpy(, "ÊýѧÓ뾼ùÜÀíѧԺ");strcpy(roduction , &quo
16、t;ÊýѧÓ뾼ùÜÀíѧԺ´óÂ¥£¬Â¥¸ß4²ã");strcpy( ,"ÖÐÇøÑ§ÉúËÞÉá");s
17、trcpy(roduction ,"Èô¸É¶°£¬ÀëѧÉú1¡¢2ʳÌýü");strcpy( ,"ְҵѧԺ½Ìѧ´óÂ¥
18、;");strcpy(roduction ,"ְҵѧԺ½Ìѧ´óÂ¥£¬Â¥¸ß5²ã");strcpy( ,"ÌåÓýϵ");strcpy(roduction ,
19、"ÌåÓýϵ£¬Â¥¸ß5²ã");strcpy( ,"ÓÎÓ¾¹Ý");strcpy(roduction ,"ÊÒÄÚСÐÍÓÎÓ¾¹Ý");s
20、trcpy( ,"±¨¸æÌü¡¢½×ÌݽÌÊÒ");strcpy(roduction ,"¿É¾Ù°ìÖС¢´óÐÍѧÊõ»áÒé&
21、#161;£ÓдóС±¨¸æÌü1£6¸ö¡¢½×ÌݽÌÊÒ1£6¸ö");strcpy( ,"´óÀñÌá¢ÌåÓ
22、53;¹Ý");strcpy(roduction ,"ÎÄÒÕÑݳöËùÔڵء¢ÊÒÄÚÔ˶¯³¡");strcpy( ,"1ʳÌÃ");strcpy(c.vexs16.
23、introduction ,"½Ì¹¤Ê³Ìü°Ñ§Éú1ʳÌÃÔÚ´Ë");strcpy( ,"ÐÂͼÊé¹Ý");strcpy(roduction ,"½¨Ö&
24、#254;Ãæ»ý46000ƽ·½Ã×");strcpy( ,"2ʳÌÃ");strcpy(roduction ,"ѧУ¶«Çø£¬Ñ§ÉúʳÌÃ");strcpy(c.
25、 ,"¶«ÇøÑ§ÉúËÞÉá");strcpy(roduction ,"ÀëѧÉú2ʳÌýü");strcpy( ,"¼ÆËã»úѧÔ
26、186;");strcpy(roduction ,"¼ÆËã»úѧԺ´óÂ¥£¬Â¥¸ß5²ã");strcpy( ,"½Ì¹¤ËÞÉá");strcpy(roductio
27、n ,"ѧУÇàÄê½ÌÖ°¹¤×âסµØ");strcpy( ,"Î÷ÇøÑ§ÉúËÞÉá");strcpy(roduction ,"ÀëÑ&
28、#167;Éú3¡¢4ʳÌýü");strcpy( ,"3ʳÌÃ");strcpy(roduction ,"ѧУÎ÷Çø£¬Ñ§ÉúʳÌÃ");strcpy(c.vex
29、 ,"Íâ¹úÓïѧԺ");strcpy(roduction ,"Íâ¹úÓïѧԺ´óÂ¥£¬Â¥¸ß5²ã");strcpy( ,"4Ê
30、9;ÌÃ");strcpy(roduction ,"ѧУÎ÷Çø£¬Ñ§ÉúʳÌã¬ÈËÆø½Ï¸ß");strcpy( ,"УҽԺ&q
31、uot;);strcpy(roduction ,"¿´Ð¡²¡µÄµØ·½");strcpy( ,"ʵÑéÂ¥");strcpy(roduction ,"ÎïµçѧԺ¡¢»
32、5;ѧÓëÉúÃü¿ÆÑ§Ñ§Ôº¡¢»úµçϵ¡¢½¨²ÄϵËùÔڵأ¬»ú·¿¼°¶àÃ
33、9;Ìå½ÌÊÒÈô¸É");/ÒÀ´ÎÊäÈë±ßÉϵÄȨֵÐÅÏ¢for(i=0;i<c.vexnum ;i+)for(j=0;j<c.vexnum ;j+)c.arcs ij.adj =Infinity; /Ïȳ&
34、#245;ʼ»¯Í¼µÄÁÚ½Ó¾ØÕó/²¿·Ö»¡³¤c.arcs02.adj=50; c.arcs03.adj=60;c.arcs14.adj=90;c.arcs23.adj=60; c.arcs28.adj=40;c.arcs34.adj=60; c.arcs36.adj=40;c.arcs45.adj=70; c.arcs49.adj=70; c
35、.arcs410.adj=80; c.arcs417.adj=200;c.arcs57.adj=70;c.arcs69.adj=40;c.arcs718.adj=190;c.arcs811.adj=50;c.arcs912.adj=40;c.arcs1018.adj=70;c.arcs1112.adj=60; c.arcs1114.adj=50; c.arcs1115.adj=50;c.arcs1216.adj=50;c.arcs1314.adj=40; c.arcs1322.adj=60;c.arcs1415.adj=50; c.arcs1420.adj=90;c.arcs1516.adj=
36、60; c.arcs1521.adj=40;c.arcs1617.adj=60;c.arcs1718.adj=80;c.arcs1819.adj=60;c.arcs2021.adj=60; c.arcs2024.adj=80;c.arcs2223.adj=60; c.arcs2225.adj=80;c.arcs2324.adj=60;c.arcs2426.adj=100; c.arcs2427.adj=100;c.arcs2526.adj=90;c.arcs2627.adj=90;for(i=0;i<c.vexnum ;i+) /ÁÚ½Ó¾
37、;ØÕóÊǶԳƾØÕ󣬶ԳƸ³Öµfor(j=0;j<c.vexnum ;j+)c.arcsji.adj =c.arcsij.adj ;return c;/initgraph/ (2) ²éÕÒ¾°µãÔÚͼÖ
38、8;µÄÐòºÅint locatevex(mgraph c,int v)int i;for(i=0;i<c.vexnum ;i+)if(v=c.vexsi.position)return i; /ÕÒµ½£¬·µ»Ø¶¥µãÐòºÅireturn -1; /·ñÔò£¬·µ
39、;»Ø-1/(3) ¡¢(4) ÇóÁ½¾°µã¼äµÄËùÓз¾¶/ (3) ´òÓ¡ÐòºÅΪm,n¾°µã¼äµÄ³¤¶È
40、78;»³¬¹ý8¸ö¾°µãµÄ·¾¶void path(mgraph c, int m,int n,int k)int s,x=0;int t=k+1; /t ¼ÇÔØÂ·¾¶ÉÏÏÂÒ»¸öÖм䶥
41、µãÔÚdÊý×éÖеÄϱêif(dk=n && k<8) /dk´æ´¢Â·¾¶¶¥µã¡£ÈôdkÊÇÖÕµãnÇÒ¾°µã
42、184;öÊý<=8£¬ÔòÊä³ö¸Ã·¾¶ /µÝ¹é³ö¿Ú£¬ÕÒµ½Ò»Ìõ·¾¶for(s=0;s<k;s+)printf("%s->",c.vexsds.
43、name); /Êä³ö¸Ã·¾¶¡£s=0 ʱΪÆðµãmprintf("%s",); /Êä³ö×îºóÒ»¸ö¾°µãÃû(¼´¶&
44、#165;µãnµÄÃû×Ö£¬´Ëʱs=k)printf("nn");elses=0;while(s<c.vexnum) /´ÓµÚm¸ö¶¥µã£¬ÊÔ̽ÖÁËùÓж¥µ
45、227;ÊÇ·ñÓз¾¶if(c.arcsdks.adj<Infinity) && (visiteds=0) /³õ̬£º¶¥µãmµ½¶¥µãsÓбߣ¬ÇÒδ±»·Ã
46、;ÎÊvisiteds=1;dk+1=s; /´æ´¢¶¥µã±àºÅs ÖÁdk+1ÖÐpath(c,m,n,t); /Çó´ÓϱêΪt=k+1µÄµÚdt¸ö¶¥µã¿ªÊ
47、8;µÄ·¾¶(µÝ¹éµ÷ÓÃ)£¬Í¬Ê±´òÓ¡³öÒ»ÌõmÖÁnµÄ·¾¶visiteds=0; /½«ÕÒµ½µÄÂ
48、;·¾¶É϶¥µãµÄ·ÃÎʱêÖ¾ÖØÐÂÉèÖÃΪ0£¬ÒÔÓÃÓÚÊÔ̽еķ¾¶s+;
49、/ÊÔ̽´ÓÏÂÒ»¸ö¶¥µã s ¿ªÊ¼ÊÇ·ñÓе½ÖÕµãµÄ·¾¶/endwhile/endelse/endpath/(4) ´òÓ¡Á½
50、190;°µã¼äµÄ¾°µã¸öÊý²»³¬¹ý8µÄËùÓз¾¶¡£µ÷ÓÃ(3)int allpath(mgraph c)int k,i,j,m,n;printf("nnÇëÊ
51、228;ÈëÄãÒª²éѯµÄÁ½¸ö¾°µã±àºÅ:nn");scanf("%d%d",&i,&j);printf("nn");m=locatevex(c,i); /µ÷ÓÃ(2)£¬È·¶
52、8;¸Ã¶¥µãÊÇ·ñ´æÔÚ¡£Èô´æÔÚ£¬·µ»Ø¸Ã¶¥µã±àºÅn=locatevex(c,j);d0=m; /´æ´¢Â·¾
53、2;Æðµãm (int dÊý×éÊÇÈ«¾Ö±äÁ¿)for(k=0;k<c.vexnum;k+) /È«²¿¶¥µã·ÃÎʱêÖ¾³õÖµÉèΪ0visitedk=
54、0;visitedm=1; /µÚm¸ö¶¥µã·ÃÎʱêÖ¾ÉèÖÃΪ1path(c,m,n,0); /µ÷ÓÃ(3)¡£k=0£¬¶ÔÓ¦Æðµãd0=m¡£kΪd
55、02;ý×éϱêreturn 1;/ (5) ÓõϽÜË¹ÌØÀËã·¨£¬Çó³öÒ»¸ö¾°µãµ½ÆäËû¾°µã
56、¼äµÄ×î¶Ì·¾¶£¬²¢´òÓ¡void shortestpath_dij(mgraph c)/µÏ½ÜË¹ÌØÀËã·¨£¬Çó´Ó¶¥µãv0
57、181;½ÆäÓà¶¥µãµÄ×î¶Ì·¾¼°Æä´øÈ¨³¤¶Èdv/ÈôpvwΪ1£¬ÔòwÊÇ´Óv0µ½vµÄ
58、15;î¶Ì·¾ÉϵĶ¥µã/finalvÀàÐÍÓÃÓÚÉèÖ÷ÃÎʱêÖ¾int v,w,i,min,t=0,x,flag=1,v0; /voΪÆðʼ¾
59、6;µãµÄ±àºÅint final35,d35,p3535;printf("nÇëÊäÈëÒ»¸öÆðʼ¾°µãµÄ±àºÅ£º");scanf("%d",&v0);printf("nn"
60、;);while(v0<0|v0>c.vexnum)printf("nÄãËùÊäÈëµÄ¾°µã±àºÅ²»´æÔÚn");printf("ÇëÖØÐÂÊäÈ룺");scanf(&q
61、uot;%d",&v0);/whilefor(v=0;v<c.vexnum ;v+)finalv=0; /³õʼ»¯¸÷¶¥µã·ÃÎʱêÖ¾dv=c.arcsv0v.adj; /v0 µ½¸÷¶¥µã v µÄȨֵ¸
62、³Öµ¸ødvfor(w=0;w<c.vexnum ;w+) /³õʼ»¯pÊý×飬¸÷¶¥µã¼äµÄ·¾¶È«²¿ÉèÖÃΪ¿Õ·
63、;¾¶0pvw=0;if(dv<Infinity) /v0 µ½v ÓбßÏàÁ¬£¬ÐÞ¸Äpvv0µÄֵΪ1pvv0=1;pvv=1; /¸÷¶¥µã×Ô¼ºµ½×Ô¼ºÒ&
64、#170;Á¬Í¨/fordv0=0; /×Ô¼ºµ½×Ô¼ºµÄȨֵÉèΪ0finalv0=1; /v0µÄ·ÃÎʱêÖ¾ÉèΪ1£¬v ÊôÓÚ
65、s ¼¯for(i=1;i<c.vexnum ;i+) /¶ÔÆäÓàc.vexnum-1¸ö¶¥µãw£¬ÒÀ´ÎÇó v µ½ w µÄ×î¶Ì·¾¶min=Infinity;for(w=0;w<c.vexnum ;w+) /Ô
66、218;δ±»·ÃÎʵĶ¥µãÖУ¬²éÕÒÓë v0 ×î½üµÄ¶¥µãvif(!finalw)if(dw<min) /v0 µ½ w (Óбß)µÄÈ
67、;¨Öµ<minv=w;min=dw;/iffinalv=1; /v µÄ·ÃÎʱêÖ¾ÉèÖÃΪ1£¬v ÊôÓÚs¼¯for(w=0;w<c.vexnum ;w+) /ÐÞ¸Äv0 µ½ÆäÓà¸
68、247;¶¥µãw µÄ×î¶Ì·¾¶È¨Öµdwif(!finalw&&(min+c.arcsvw.adj <dw) /Èôw ²»ÊôÓÚs£¬ÇÒv µ½w ÓбßÏàÁ
69、2;dw=min+c.arcsvw.adj; /ÐÞ¸Äv0 µ½w µÄȨֵdwfor(x=0;x<c.vexnum ;x+) /ËùÓÐv0 µ½v µÄ×î¶Ì·¾¶ÉϵĶ¥µãx£¬¶&
70、#188;ÊÇv0 µ½w µÄ×î¶Ì·¾¶ÉϵĶ¥µãpwx=pvx;pww=1;/if/forfor(v=0;v<c.vexnum ;v+) /Êä³öv0 µ½ÆäËü¶¥µãv µÄ×
71、238;¶Ì·¾¶if(v!=v0)printf("%s",); /Êä³ö¾°µãv0 µÄ¾°µãÃûfor(w=0;w<c.vexnum ;w+) /¶ÔͼÖÐÿ¸ö¶¥µãw
72、£¬ÊÔ̽w ÊÇ·ñÊÇv0 µ½v µÄ×î¶Ì·¾¶ÉϵĶ¥µãif(pvw && w!=v0 && w!=v) /Èôw ÊÇÇÒw ²»µ&
73、#200;ÓÚv0£¬ÔòÊä³ö¸Ã¾°µãprintf("->%s",);printf("->%s",);printf("n×Ü·Ïß³¤Îª%dÃ×nn",dv);/for/shortestp
74、ath/(6)-(11)ÐÞ¸ÄͼµÄÐÅÏ¢¡£°üÀ¨½¨Í¼¡¢¸üÐÂÐÅÏ¢¡¢É¾³ý¡¢Ôö¼Ó½áµã
75、ºÍ±ß/(6) ¹¹ÔìͼµÄÁÚ½Ó¾ØÕóint creatgragh(mgraph &c) /½¨Í¼¡£ÒÔͼµÄÁÚ½Ó¾ØÕó´æ´¢
76、ͼint i,j,m,n;int v0,v1;int distance;printf("ÇëÊäÈëͼµÄ¶¥µãÊýºÍ±ßÊý: n");scanf("%d %d",&c.vexnum ,&c.arcnum );printf("ÏÂÃæÇ
77、;ëÊäÈë¾°µãµÄÐÅÏ¢£ºn");for(i=0;i<c.vexnum ;i+) /¹¹Ôì¶¥µãÏòÁ¿(Êý×é)printf("ÇëÊäÈë¾°&
78、#181;ãµÄ±àºÅ£º");scanf("%d",c.vexsi.position );printf("nÇëÊäÈë¾°µãµÄÃû³Æ£º");scanf("%s", );printf("nÇë&
79、#202;äÈë¾°µãµÄ¼ò½é£º");scanf("%s",roduction );for(i=0;i<c.arcnum ;i+) /³õʼ»¯ÁÚ½Ó¾ØÕófor(j=0;j<c.arcnum ;j+)c.arcsij.adj =I
80、nfinity;printf("ÏÂÃæÇëÊäÈëͼµÄ±ßµÄÐÅÏ¢£ºn");for(i=1;i<=c.arcnum ;i+) /¹¹ÔìÁÚ½Ó¾ØÕóprintf("nµÚ
81、;%dÌõ±ßµÄÆðµã Öյ㠳¤¶ÈΪ£º",i);/ÊäÈëÒ»Ìõ±ßµÄÆðµã¡¢Öյ㼰È
82、168;Öµscanf("%d %d %d",&v0,&v1,&distance);m=locatevex(c,v0);n=locatevex(c,v1);if(m>=0 && n>=0)c.arcsmn.adj =distance;c.arcsnm.adj =c.arcsmn.adj ;return 1;/creatgragh/ (7) ¸üÐÂͼµÄ²¿·ÖÐÅ
83、;Ï¢¡£·µ»ØÖµ: 1int newgraph(mgraph &c)int changenum; /¼ÆÊý¡£ÓÃÓڼǼҪÐ޸ĵĶÔÏóµÄ¸öÊýi
84、nt i,m,n,t,distance,v0,v1;printf("nÏÂÃæÇëÊäÈëÄãÒªÐ޸ĵľ°µãµÄ¸öÊý£ºn");scanf("%d",&changenum);while(changenum<0|c
85、hangenum>c.vexnum )printf("nÊäÈë´íÎó£¡ÇëÖØÐÂÊäÈë");scanf("%d",&changenum);for(i=0;i<changenum;i+)printf("nÇëÊäÈë¾°µã
86、;µÄ±àºÅ£º");scanf("%d",&m);t=locatevex(c,m);printf("nÇëÊäÈë¾°µãµÄÃû³Æ£º");scanf("%s", );printf("nÇëÊ
87、;äÈë¾°µãµÄ¼ò½é£º");scanf("%s",roduction );printf("nÏÂÃæÇëÊäÈëÄãÒª¸üеıßÊý
88、;");scanf("%d",&changenum);while(changenum<0|changenum>c.arcnum )printf("nÊäÈë´íÎó£¡ÇëÖØÐÂÊäÈë");scanf("%d",&changenum);printf("nÏÂÃ
89、;æÇëÊäÈë¸üбߵÄÐÅÏ¢£ºn");for(i=1;i<=changenum ;i+)printf("nÐ޸ĵĵÚ%dÌõ±ßµÄÆðµã ÖÕ
90、;µã ³¤¶ÈΪ£º",i);scanf("%d %d %d",&v0,&v1,&distance);m=locatevex(c,v0);n=locatevex(c,v1);if(m>=0&&n>=0)c.arcsmn.adj =distance;c.arcsnm.adj =c.arcsmn.adj ;return 1;/newgraph/ (8) Ôö¼ÓÒ&
91、#187;Ìõ±ß¡£·µ»ØÖµ£º1int enarc(mgraph&c)int m,n,distance;printf("nÇëÊäÈë±ßµÄÆðµãºÍÖÕµã±àºÅ,Ȩ
92、;Öµ£º");scanf("%d %d %d",&m,&n,&distance);while(m<0|m>c.vexnum |n<0|n>c.vexnum )printf("ÊäÈë´íÎó£¬ÇëÖØÐÂÊäÈ룺");scanf(&q
93、uot;%d %d",&m,&n);if(locatevex(c,m)<0)printf("´Ë½áµã%dÒÑɾ³ý",m);return 1;if(locatevex(c,n)<0)printf("´Ë½áµã%dÒѱ»É¾³ý£º"
94、,n);return 1;c.arcsmn.adj =distance;c.arcsnm.adj =c.arcsmn.adj; /¶Ô³Æ¸³Öµreturn 1;/enarc/ (9) Ôö¼ÓÒ»¸ö½áµã¡£·µ»ØÖµ£º1int envex(mgraph&c)int i;prin
95、tf("ÇëÊäÈëÄãÒªÔö¼Ó½áµãµÄÐÅÏ¢£º");printf("n±àºÅ£º");scanf("%d",&c.vexsc.vexnum .position );printf("
96、95;û³Æ£º");scanf("%s",c.vexsc.vexnum .name );printf("¼ò½é£º");scanf("%s",c.vexsc.vexnum .introduction) ;c.vexnum +;for(i=0;i<c.vexnum;i+) /¶ÔÔÁÚ½Ó¾ØÕ
97、243;ÐÂÔö¼ÓµÄÒ»Ðм°Ò»ÁнøÐгõʼ»¯c.arcs c.vexnum -1i.adj=Infinity; /×îºóÒ»ÐÐ(ÐÂÔöµÄÒ
98、187;ÐÐ)c.arcs ic.vexnum -1.adj=Infinity; /×îºóÒ»ÁÐ(ÐÂÔöµÄÒ»ÁÐ)return 1;/envex/ (10) ɾ³ýͼµÄÒ»¸ö¶¥µã¡£·
99、181;»ØÖµ£º1int delvex(mgraph&c)int i=0,j;int m;int v;if(c.vexnum <=0)printf("ͼÖÐÒÑÎÞ¶¥µã");return 1;printf("nÏÂÃæÇëÊäÈëÄãÒ
100、ªÉ¾³ýµÄ¾°µã±àºÅ£º");scanf("%d",&v);while(v<0|v>c.vexnum )printf("nÊäÈë´íÎó£¡ÇëÖØÐÂÊäÈë
101、;");scanf("%d",&v);m=locatevex(c,v);if(m<0)printf("´Ë¶¥µã %d ÒÑɾ³ý",v);return 1;for(i=m;i<c.vexnum-1 ;i+)/¶Ô¶¥µãÐÅÏ¢ËùÔÚ˳
102、208;ò±í½øÐÐɾ³ým µãµÄ²Ù×÷strcpy( ,c.vexs i+1.name );strcpy(roduction ,c.vexs i+1.introduction );/¶ÔÔÁÚ½Ó¾ØÕó£¬&
103、#201;¾³ý¸Ã¶¥µãµ½ÆäÓà¶¥µãµÄÁÚ½Ó¹ØÏµ¡£·Ö±ðɾ³ýÏàÓ¦µÄÐкÍ&
104、#193;Ðfor(i=m;i<c.vexnum-1 ;i+) /ÐÐfor(j=0;j<c.vexnum ;j+) /ÁÐc.arcs ij=c.arcs i+1j; /¶þάÊý×飬´ÓµÚm+1ÐпªÊ¼ÒÀ´ÎÍùÇ°ÒÆ
105、Ò»ÐС£¼´É¾³ýµÚm ÐÐfor(i=m;i<c.vexnum-1 ;i+)for(j=0;j<c.vexnum ;j+)c.arcs ji=c.arcs ji+1; /¶þάÊý×飬´ÓµÚm+1ÁпªÊ¼&
106、#210;À´ÎÍùÇ°ÒÆÒ»ÁС£¼´É¾³ýµÚm ÁÐc.vexnum -;return 1;/delvex/(11) ɾ³ýͼµÄÒ»Ìõ±ß¡£·µ
107、187;ØÖµ£º1int delarc(mgraph&c)int m,n;int v0,v1;if(c.arcnum <=0)printf("ͼÖÐÒÑÎޱߣ¬ÎÞ·¨É¾³ý¡£");return 1;printf("nÏÂÃæ
108、9;ëÊäÈëÄãҪɾ³ýµÄ±ßµÄÆðµãºÍÖÕµã±àºÅ£º");scanf("%d %d",&v0,&v1);m=locatevex(c,v0);if(m<0)printf(&quo
109、t;´Ë %d ¶¥µãÒÑɾ³ý",v0);return 1;n=locatevex(c,v1);if(n<0)printf("´Ë %d ¶¥µãÒÑɾ³ý",v1);return 1;c.arcs mn.adj =Infinity; /ÐÞ¸ÄÁÚ
110、89;Ó¾ØÕó¶ÔÓ¦µÄȨֵc.arcs nm.adj =Infinity;c.arcnum -;return 1;/delarc/ (12) Êä³öͼµÄÁÚ½Ó¾ØÕóµÄÖµvoid printmatrix(mgraph c)int
111、 i,j,k=0; /k ÓÃÓÚ¼ÆÊý£¬¿ØÖÆ»»ÐÐfor(i=0;i<c.vexnum ;i+)for(j=0;j<c.vexnum ;j+)if(c.arcsij.adj =Infinity)printf("-");elseprintf("%4d",c.arcsij.adj);k+;if(k%c.vexnum =0)printf("n&quo
112、t;);/printpath/(13)ͼ²Ù×÷µÄÖ÷µ÷º¯Êý¡£·µ»ØÖµ£º1int changegraph(mgraph &c)int yourchoice;printf("nÇëÎÊÊÇÒªnn(1)ÔÙ
113、´Î½¨Í¼ (2)ɾ³ý½áµã (3)ɾ³ý±ßn");printf("n(4)Ôö¼Ó½áµã (5)Ôö¼Ó±ß (6)¸üÐÂÐÅÏ¢nn(7)&
114、#180;òÓ¡ÁÚ½Ó¾ØÕó (8)·µ»Ø?nn");scanf("%d",&yourchoice);printf("nn");while(!(yourchoice=1|yourchoice=2|yourchoice=3|yourchoice=4|yourchoice=5|yourchoice=6|yourchoice=7|yourchoice=8)printf("
115、2;äÈëÑ¡Ôñ²»Ã÷È·£¬ÇëÖØÊän");scanf("%d",&yourchoice);while(1)switch(yourchoice)case 1:creatgragh(c);break;case 2: delvex(c);break;case 3:delarc(c);break;case 4:envex(c);break;cas
116、e 5:enarc(c);break;case 6: newgraph(c);break;case 7: printmatrix(c);break;case 8:return 1;printf("nÇëÎÊÊÇÒªnn(1)Ôٴν¨Í¼ (2)ɾ³ý½áµã (3)ɾ³ý±ßn&q
117、uot;);printf("n(4)Ôö¼Ó½áµã (5)Ôö¼Ó±ß (6)¸üÐÂÐÅÏ¢nn(7)´òÓ¡ÁÚ½Ó¾ØÕó (8)·µ»Ø?nn");scanf("%d",
118、&yourchoice);printf("nn");while(!(yourchoice=1|yourchoice=2|yourchoice=3|yourchoice=4|yourchoice=5|yourchoice=6|yourchoice=7|yourchoice=8)printf("ÊäÈëÑ¡Ôñ²»Ã÷È·£¬ÇëÖØÊän&q
119、uot;);scanf("%d",&yourchoice);/endwhile(1)return 1;/changegraph/ (14) ²éѯÁ½¾°µã¼äµÄ×î¶Ì·¾¶void shortestpath_floyd(mgraph c)/ÓÃfloydËã·¨Ç
120、43;¸÷¶Ô¶¥µãvºÍw¼äµÄ×î¶Ì·¾¼°Æä´øÈ¨³¤¶ÈµÄdvw¡£/Èôpvwu=1£»ÔòuÊÇvµ&
121、#189;wµÄµ±Ç°ÇóµÃµÄ×î¶Ì·¾ÉϵĶ¥µãint i,j,k,d3535,p353535;int v,u,w;for(v=0;v<c.vexnum ;v+) /³õʼ»¯¸÷¶Ô
122、2;¥µã v£¬w Ö®¼äµÄÆðʼ¾àÀë dvw ¼° ·¾¶ pvw Êý×éfor(w=0;w<c.vexnum ;w+)dvw=c.arcsvw.adj; /dvw Öдæ·Å v ÖÁ w ¼
123、ä³õʼȨֵfor(u=0;u<c.vexnum ;u+) /³õʼ»¯×î¶Ì·¾¶ pvw Êý×飬µÚ 3 ¸ö·ÖÁ¿È«²¿Çå0pvwu=
124、0;if(dvw<Infinity) /Èç¹û v ÖÁ w ¼äÓбßÏàÁ¬pvwv=1; / v ÊÇ v ÖÁ w ×î¶Ì·¾¶ÉϵĶ¥µãpvww=1; / w ÊÇ v Ö
125、3; w ×î¶Ì·¾¶ÉϵĶ¥µã/if/for/endforfor(u=0;u<c.vexnum ;u+) / ÇóvÖÁwµÄ×î¶Ì·¾¶¼°¾àÀë¡£¶ÔÈ
126、6;Òâ¶¥µãu£¬ÊÔ̽ÆäÊÇ·ñΪvÖÁw×î¶Ì·¾¶ÉϵĶ¥µãfor(v=0;v<c.vexnum ;v+)for(w=0;w<c.vexnum ;w+)if(dvu+duw<d
127、vw) /´Ó v ¾ u µ½ w µÄÒ»Ìõ·¾¶¸ü¶Ìdvw=dvu+duw; /ÐÞ¸Ä v ÖÁ w µÄ×î¶Ì·¾¶³¤¶Èfor(i=0;i<c.vexnum ;i+)
128、 /ÐÞ¸Ä v ÖÁ w µÄ×î¶Ì·¾¶Êý×é¡£ ÈôiÊÇvÖÁuµÄ×î¶Ì·¾¶ÉϵĶ¥µã,pvwi=pvui|puwi; /»òiÊÇuÖÁwµÄ×î¶Ì·¾¶ÉÏ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国数字孪生城市建模精度与仿真效果评估报告
- 2025中国教育质量评估体系研究及发展建议报告
- 2025中国教育虚拟现实行业市场发展现状及趋势分析报告
- 2025中国教育智能监控系统发展趋势及竞争策略研究报告
- 质量管理体系年度改进方案
- 机床操作员工作总结与计划范畴
- 高一数学抽样与调查教学总结
- 放射性剂量超标处理标准流程
- 美容手术器械清单及管理
- 2026届云南省丽江县第三中学高二化学第一学期期中学业质量监测试题含解析
- 2025年小学五年级语文上学期期中综合测试试卷(含答案)
- 2025年脉石英行业分析报告及未来发展趋势预测
- 2025年建筑师资格考试《建筑装饰设计》备考题库及答案解析
- 无人机教学平台建设方案
- 2025年政治理论时政热点知识试题库(+答案)
- GB/T 46391-2025城市和社区可持续发展宜居城市总体要求
- 贵州金融控股集团有限责任公司招聘笔试题库及答案2025
- 简单版公司向个人借款合同范本5篇
- 《JavaScript程序设计案例教程》全套教学课件
- 2025年铆工中级职业技能理论知识考试练习题库含答案
- 开设国际班申请书
评论
0/150
提交评论