33,321
社区成员




#include <stdio.h>
typedef struct
{
int data;
}vertex;
typedef struct
{
int edge[100][100];
int n,e;
vertex adjlist[100];
}MGraph;//图的邻接矩阵结构定义
typedef struct ArcNode
{
int num;//下一个顶点编号
struct ArcNode *nextarc;
}Arc;//定义边表
typedef struct vNode
{
Arc *firstarc;
}vNode;//定义顶点表
typedef struct
{
vNode adjlist[100];
int n,e;
}AGraph;//图的邻接表结构定义
/* 以下是图的深度优先搜索*/
int visit[100]={0};
DFS(AGraph *p,int v)
{
visit[v]=1;
Arc *q;
q=p.adjlist[v]->firstarc;
if (q)
{
if(visit[q->num]==0)
DFS(p,q->num);
q=q->nextarc;
}
}
q = p->adjlist[v].firstarc;
sh-4.3$ gcc -o main *.c
main.c:35:1: warning: return type defaults to 'int' [-Wimplicit-int]
DFS(AGraph *p,int v)
^
main.c: In function 'DFS':
main.c:40:8: error: request for member 'adjlist' in something not a structure or union
q=p.adjlist[v]->firstarc;
^