Parcours en largeur

Fermé
mahrous Messages postés 8 Date d'inscription vendredi 30 octobre 2015 Statut Membre Dernière intervention 19 novembre 2015 - Modifié par mahrous le 10/11/2015 à 17:27
mahrous Messages postés 8 Date d'inscription vendredi 30 octobre 2015 Statut Membre Dernière intervention 19 novembre 2015 - 10 nov. 2015 à 17:27
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 8 Date d'inscription vendredi 30 octobre 2015 Statut Membre Dernière intervention 19 novembre 2015
10 nov. 2015 à 17:27
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