DFS function, can you guys tell me what is the wrong with this code?

Posted by danielDhobbs on Stack Overflow See other posts from Stack Overflow or by danielDhobbs
Published on 2010-05-26T06:14:11Z Indexed on 2010/05/26 6:21 UTC
Read the original article Hit count: 477

Filed under:
|

can you guys tell me what is the wrong with this code? it is not working with

1 2
1 3
1 4
2 5
2 6
2 7
2 8
3 8
3 9
4 10

1 -> 4 -> 10 and stop

DFS function

void Is_Connected(graphType* g, int v){ //function to define the graph is connected or not  
 int i=0;  
 g_node* w;  
 top = NULL;  
 g -> visited[v] = TRUE;  
 push(v);  
 printf("%d", v);  
 while (top != NULL) {  
  w = g -> adjList[v];  
  while (w) {  
   if (!g -> visited[w -> vertex]) {  
    push(w -> vertex);  
    g -> visited[w -> vertex] = TRUE;  
    printf("->%d", w->vertex);  
    v = w -> vertex;  
    w = g -> adjList[v];  
   }  
   else {  
    w = w -> link;  
   }  
  }  
  i++;  
  v = pop();    
 }  

 if (i == (g -> x)-1){ //number of vertices = number of vertetices pass through  
  puts("\nIs_Connected() result : yes");  
 }  

 else{  
  puts("\nIs_Connected() result : no");  
 }  
}  

© Stack Overflow or respective owner

Related posts about c

    Related posts about assignment