湖北第二师范学院校园导游系统_第1页
湖北第二师范学院校园导游系统_第2页
湖北第二师范学院校园导游系统_第3页
湖北第二师范学院校园导游系统_第4页
湖北第二师范学院校园导游系统_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论