- 1
- 0
- 约2.47千字
- 约 6页
- 2021-03-16 发布于海南
- 举报
/**********************/
/* 旅游景点线路模拟系统 */
/**********************/
include
include
typedef int VRType;
typedef char* VertexType;
int visited[20];
struct {
VertexType adjvex; dj= 1000;
printf( 请输入弧及其权值 (eg:2 3 矩阵中 (2,3)权值为 .4): \n );
for (k=0;k;k++)
{
scanf(%d%d%d,i,j,w);dj=w;
}
}
/* 寻找 v 的第一个结点 */
int FirstAdjVex(Net G,int v)
{
int i;
for (i = 0; i ; i++)
if(visited[i]==0[v][i].adj!=1000)
return i;
return -1;
}
/* 寻找 v 的下一个结点 */
int NextAdjVex(Net G,int v,int w)
{
int i;
for (i =w; i ; i++)
if(visited[i]==0[v][i].adj!=1000)
return i;
return -1;
}
/* 深度优先遍历 (递归 )*/
void DFS(Net G,int v)
{
int w;
visited[v]=1;
dj==1000)
printf( );
else
printf( %8d ,[j][i].adj);
printf( \n );
}
}
int minimum(Net G)owcost;
for (i=0;i;i++) {
if ( closedge[i].lowcost != 1000 closedge[i].lowcost closedgemin ) {
closedgemin=closedge[i].lowcost;
}
}
for (i=0;i;i++)
{
if (closedge[i].lowcost==closedgemin)
return i;
}
}
/* 最小生成树 (prim)*/
void MiniSpanTree_P(Net G, VertexType u) dj };
djvex,u);
closedge[j].adjvex=u;
closedge[j].lowcost=[k][j].adj;
}
closedge[k].lowcost = 1001; djvex,closedge[x].lowcost, [x]);owcost = 1001;
owcost!=1001[k][j].adj closedge[j].lowcost){
closedge[j].adjvex=[k];
closedge[j].lowcost=[k][j].adj;
}
}
}
dj;
for (u=0;u;u++)
P[v][w][u]=0;
if(D[v][w]1000)dj;
for (w=0;w;w++)djD[w]))
{
D[w]=minnum+[v][w].adj;
建景点信息
********\n
);
printf( **2. 深度优先遍历景点
********\n
);
printf( **3. 广度优先遍历景点
********\n
);
printf( **4. 搜索景点间最短路线
********\n
);
printf( **5. 最小生成树
********\n
);
printf( **6. 输出景点信息邻接矩阵
********\n
);
printf( **0. 退出
********\n
);
printf( 请选择: );
scanf(%d ,c);
if(c==0)
break;
switch(c)
{
case 1:
Creatnet(G);
break;
case 2:
for (i=0;i;i++)
visited[i]=0;
printf( 请输入开始查找景点位置: );
scanf(%s,exp);
for (i=0;i;i++)
if (strcmp(exp,[i])==0)
x=i;
DFS(G,x);
for (i=0;i;i++)
if (visited[i]==0)
DFS(G,i);
break;
case 3:
printf( 请输入开始查找景点位置: );
scanf(%s,exp);
for (i=0;i;i++)
if (strcmp(exp,[i])==0)
x=i;
BFS(G,x);
for (i=0;i;i++)
if (visited[i]==0)
BFS(G,i);
break;
case 4:
pr
原创力文档

文档评论(0)