Parcours en largeur

mahrous Messages postés 10 Statut Membre -  
mahrous Messages postés 10 Statut Membre -
Bonjour ,

je suis entrain de resoudre un exercice en C sur le BFS :
avec des inputs /outputs comme suit :




j'ai fait un code pour creer une liste d'adjacence que voila :

#include<stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct node
{
struct node *next;
char vertex;

}node;
char s[10];
node *G[10];


//heads of linked list

//s= string input

void insert(int,char[],int);

int i,n=1; int v=0; int count=1;


//initialise G[] with a null

for(i=0;i<=27;i++)
{
G[i]=NULL;
}




{ while (count!=EOF)
{ count=scanf("%s",s);


n=strlen(s);
insert(v,s,n);
v=v+1; }



return 0;}





void insert(int vi,char s[],int n)
{
node *p,*q,*d; int i=2 ;

//acquire memory for the new node
q=(node*)malloc(sizeof(node));
q->vertex=s[0];

q->next=NULL;




//insert the node in the linked list number vi
if(G[vi]==NULL)
{G[vi]=q;
}

while (i<n){
d=(node*)malloc(sizeof(node));
d->vertex=s[i];
d->next=NULL;
//go to end of the linked list
p=G[vi];

while(p->next!=NULL)
p=p->next;
p->next=d;
i++;}

}


1 réponse

mahrous Messages postés 10 Statut Membre
 
normalement les valeurs que ca affiche sont bon mais je ne suis pas aussi sur que ce soit correct ... Est ce que quelqu'un a une idee de ce que je pourrais faire dans la fonction BFS dans ce cas ?

merci !
0