pta 遍历时用裁判定义的函数 4-2 邻接矩阵存储图的深度优先遍历 (20分)

函数接口定义:voidDFS(MGraphGraph,VertexV,void(*Visit)(Vertex));其中MGraph是邻接矩阵存储的图,定义如下:typed... 函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode *PtrToGNode;struct GNode{ int Nv; /* 顶点数 */ int Ne; /* 边数 */ WeightType G[MaxVertexNum][MaxVertexNum]; /* 邻接矩阵 */};typedef PtrToGNode MGraph; /* 以邻接矩阵存储的图类型 */函数DFS应从第V个顶点出发递归地深度优先遍历图Graph,遍历时用裁判定义的函数Visit访问每个顶点。当访问邻接点时,要求按序号递增的顺序。题目保证V是图中的合法顶点。裁判测试程序样例:#include <stdio.h>typedef enum {false, true} bool;#define MaxVertexNum 10 /* 最大顶点数设为10 */#define INFINITY 65535 /* ∞设为双字节无符号整数的最大值65535*/typedef int Vertex; /* 用顶点下标表示顶点,为整型 */typedef int WeightType; /* 边的权值设为整型 */typedef struct GNode *PtrToGNode;struct GNode{ int Nv; /* 顶点数 */ int Ne; /* 边数 */ WeightType G[MaxVertexNum][MaxVertexNum]; /* 邻接矩阵 */};typedef PtrToGNode MGraph; /* 以邻接矩阵存储的图类型 */bool Visited[MaxVertexNum]; /* 顶点的访问标记 */MGraph CreateGraph(); /* 创建图并且将Visited初始化为false;裁判实现,细节不表 */void Visit( Vertex V ){ printf(" %d", V);}void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );int main(){ MGraph G; Vertex V; G = CreateGraph(); scanf("%d", &V); printf("DFS from %d:", V); DFS(G, V, Visit); return 0;}/* 你的代码将被嵌在这里 */输入样例:给定图如下5输出样例:DFS from 5: 5 1 3 0 2 4 6 展开
 我来答
甫明知82
2016-06-19 · TA获得超过725个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:27.1万
展开全部
这个应该可以
//插入排序
#ifndef LIST_H
#define LIST_H
#include<iostream>
using namespace std;

template<class number>
class List
{
public:
追问
大神不行啊

编译器:gcc
时间限制:400ms
内存限制:64MB
代码长度限制:16kB
判题程序:系统默认
作者:DS课程组
单位:浙江大学
这是要求~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
已柠q
2017-11-04
知道答主
回答量:5
采纳率:0%
帮助的人:4529
展开全部
void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) )
{
Visit(V);
Visited[V]=true;
for(int w=0;w<Graph->Nv;w++)
{

if((Graph->G[V][w])==1&&!Visited[w])
{
DFS(Graph,w,Visit);
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式