校园导游程序 用无向图表示校园的景点 存放景点名称 路径等信息Word格式.doc

上传人:b****1 文档编号:13095042 上传时间:2022-10-04 格式:DOC 页数:4 大小:25.50KB
下载 相关 举报
校园导游程序 用无向图表示校园的景点 存放景点名称 路径等信息Word格式.doc_第1页
第1页 / 共4页
校园导游程序 用无向图表示校园的景点 存放景点名称 路径等信息Word格式.doc_第2页
第2页 / 共4页
校园导游程序 用无向图表示校园的景点 存放景点名称 路径等信息Word格式.doc_第3页
第3页 / 共4页
校园导游程序 用无向图表示校园的景点 存放景点名称 路径等信息Word格式.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

校园导游程序 用无向图表示校园的景点 存放景点名称 路径等信息Word格式.doc

《校园导游程序 用无向图表示校园的景点 存放景点名称 路径等信息Word格式.doc》由会员分享,可在线阅读,更多相关《校园导游程序 用无向图表示校园的景点 存放景点名称 路径等信息Word格式.doc(4页珍藏版)》请在冰豆网上搜索。

校园导游程序 用无向图表示校园的景点 存放景点名称 路径等信息Word格式.doc

//景点

voidfloyd(graph&

t,constintn);

voidpicture();

voidcreatp(graph&

t);

voidbfs(grapht);

};

voidgraph:

:

picture()

cout<

<

"

******校园导游图******"

endl;

以下是学校的景点"

***************************"

1.校园门口 

2.图书管 

*"

3.饭堂 

4.教学楼 

以下是学校的路径图"

3"

1*---------*2 

"

/|"

/|"

|"

4| 

9/ 

|5 

|/ 

3*---------*4 

2"

下面是景点与景点之间的距离和介绍:

;

1.校园门口--》2.图书管 

距离为:

1.校园门口--》3.饭堂 

4"

2.图书管 

--》4.教学楼 

--》3.饭堂 

9"

3.饭堂 

5"

//校园图

}

creatp(graph&

t)

inti,j;

for(i=1;

i<

=n;

i++)

for(j=1;

j<

j++)

if(i==j)t.arcs[i][j]=0;

//景点一样则距离为0

elset.arcs[i][j]=max;

//i不等于j时

t.arcs[1][2]=3;

t.arcs[2][1]=3;

t.arcs[2][4]=5;

t.arcs[4][2]=5;

t.arcs[3][1]=4;

t.arcs[1][3]=4;

t.arcs[3][2]=9;

t.arcs[2][3]=9;

t.arcs[3][4]=2;

t.arcs[4][3]=2

//把景点跟距离用一个二围数组存储下来

floyd(graph&

t,constintn)

for(inti=1;

for(intj=1;

t.a[i][j]=t.arcs[i][j];

//把距离付值给a.[i][j]

if((i!

=j)&

&

(a[i][j]<

max))

t.path[i][j]=i;

elset.path[i][j]=0;

for(intk=1;

k<

k++)

if(t.a[i][k]+t.a[k][j]<

t.a[i][j])

t.a[i][j]=t.a[i][k]+t.a[k][j];

t.path[i][j]=t.path[k][j];

bfs(grapht) 

//从顶点i出发实现广度搜索搜索n

intj,i;

//f,r分别为队列头,尾指针

charch;

请输入一个你想去的地方:

cin>

>

i;

while(i<

=4)

//cout<

t.arcs;

//输出访问点

//for(i;

if(i==1)cout<

这里就是你要去的地方拉!

!

endl<

else

if(i!

=j)

距离为"

t.a[i][j]<

intnext=t.path[i][j];

j;

while(next!

=i)

--"

next;

next=t.path[i][next];

等我推荐一条最佳路径供你返回吧(y/n):

ch;

if(ch=='

y'

if(i==2)cout<

2--4--3--1"

if(i==3)cout<

3--2--1或者3--4--2--1"

if(i==4)cout<

如果你想去四景点我们会带你游览学校全景:

1--2--4--3--1"

cout<

你还想去别的地方吗?

(y/n)"

cin>

if(ch=='

){cout<

if(ch!

='

) 

*****退出程序*****"

欢迎下次再来"

break;

break;

voidmain()

grapht;

t.picture();

t.creatp(t);

t.floyd(t,n);

t.bfs(t);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1