访问邻接列表时要使用的符号?

时间:2017-04-02 03:08:38

标签: c graph traversal adjacency-list

我正在尝试在某个图表上进行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实施的提示或建议!

1 个答案:

答案 0 :(得分:0)

您可以通过&#34; dot&#34;访问结构的元素,即您可以通过n

从数组中的第一个图表访问graph[0].n