Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 访问邻接列表时使用什么符号?_C_Graph_Traversal_Adjacency List - Fatal编程技术网

C 访问邻接列表时使用什么符号?

C 访问邻接列表时使用什么符号?,c,graph,traversal,adjacency-list,C,Graph,Traversal,Adjacency List,我试图在某个图表上进行DFS搜索,在这里我尝试写下以下代码(我知道我犯了很多错误/警告和错误,但这只是一个开始,我需要一些帮助) int已访问[]; 静态int last=-1; 访问的int记录[]; 无效打印\u dfs(图形*图形,整数源\u id) { //printf(“尚未实现:将第1部分的代码放在此处\n”); 已访问[源代码]=1; 记录访问次数[++上次]=源id; int i; 对于(i=0;i您可以通过“点”访问结构的元素,即您可以通过graph[0]从数组中的第一个图形访

我试图在某个图表上进行DFS搜索,在这里我尝试写下以下代码(我知道我犯了很多错误/警告和错误,但这只是一个开始,我需要一些帮助)

int已访问[];
静态int last=-1;
访问的int记录[];
无效打印\u dfs(图形*图形,整数源\u id)
{
//printf(“尚未实现:将第1部分的代码放在此处\n”);
已访问[源代码]=1;
记录访问次数[++上次]=源id;
int i;

对于(i=0;i您可以通过“点”访问结构的元素,即您可以通过
graph[0]从数组中的第一个图形访问
n
.n

您的粘贴到粘贴箱是私有的。
Graph*Graph
在您的函数声明中建议
Graph
只指向
Graph
的指针,而不是指向
Graph
的指针。因此,使用
[source\u id][i]将其解除两次防护
不起作用。您至少可以在问题的某个地方包含
图形的定义;外部链接不是一个好主意(@yar的评论只是其中一个原因)@Evert很抱歉我将其公开以供访问。我只是认为发布这么长的代码会让人感到恼火…因此选择添加链接…请添加图形。h,我也认为有图形声明,是我的错误表明图形本身不是数组或其他东西(因此我无法取消引用它),但它指向一些列表/顶点,是否有类似于graph->vertices[a]->first_edge的东西?
struct graph
是一种结构,它包含三个元素:
n
maxn
顶点
。您可以使用
graph[I]访问指针
顶点
.vertices
。然后您可以访问元素,例如通过
*(图形[i]。顶点[0])
。但是,
graph
不包含指向
graph
的指针,因此使用
graph*
的递归将不会以这种方式工作。
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); 
        }
    }     
}