我正在尝试在某个图表上进行DFS搜索,这里我试图写下以下代码(我知道有很多错误/警告和错误我已经做过但这只是一个开始我需要一些帮助。)
int visited[];
static int last=-1;
int record_of_visit[];
void print_dfs(Graph* graph, int source_id)
{
//printf("not yet implemented: put code for part 1 here\n");
visited[source_id]=1;
record_of_visit[++last]=source_id;
int i;
for (i=0;i<20;i++)
{
if (graph[source_id][i]==1)
{
if(visited[i] == 0)
print_dfs(graph,i);
}
}
}
可以找到实现邻接列表的graph.c文件here.
可以找到graph.h文件here.
这里我试图访问已经构建的邻接列表的图形,但是当我运行此程序时编译器会给我错误,表明
在if (graph[source_id][i]==1)
下标值既不是数组也不是指针
我在这里做错了什么?此外,我还要感谢任何有关如何改进我的原始DFS实施的提示或建议!
答案 0 :(得分:0)
您可以通过&#34; dot&#34;访问结构的元素,即您可以通过n
graph[0].n