| נשלח בתאריך: 08 July 2007 בשעה 23:13 |  | IP רשוּם
		     |  
  | 
                    
            		  
           | 
           
          
           
  | 
           
          
אני מנסה לעשות BFS על גרף (לא מכוון) אבל משום מה קודקוד המקור מסרב להיצבע... למישהו יש מושג מה הבעיה? זה די דחוף... 
קוד: 
   
    
    
      
       | 
 int i,n;        City **my_queue;         City *head;          Adjacent  *adj;         for(i=0; i<Size; i++)         {             head_city.colour=WHITE;            head_city.distance=Size+1;            head_city.parent=NULL;         }         source.colour=GRAY;         source.distance=0;         source.parent=NULL;           my_queue=(City**)calloc(Size, sizeof(City*));     assert(my_queue!=NULL);         my_queue[0]=&source;           [0]->colour);         i=0;         n=1;         while(i<n)         {                      head=my_queue;                  i++; 
           adj=head->next;            while(adj!=NULL)            {                  if(adj->city->colour==WHITE)                    {                              adj->city->colour=GRAY;                             adj->city->distance=head->distance+1;                               adj->city->parent=head;                             my_queue[n]=adj->city;                             n++;                  }              adj=adj->next;            }                             head->colour=BLACK;                                  } } 
 | 
       
       | 
    
    | 
 
 
המבנים הם: 
קוד: 
   
    
    
      
       | 
 typedef struct City_t {  char* name;  struct Adjacent_t *next;  int colour;  int distance;  struct City_t * parent; }City; 
 typedef struct Adjacent_t {  struct City_t *city;     struct Adjacent_t *next; }Adjacent;  
  
 | 
       
       | 
    
    | 
 
 
הגרף הוא מערך של סטרקטים מסוג city -המערך נקרא city_head כאשר לכל סיטי יש רשימה מקושרת של השכנים שלה- מסוג adjacent 
הצבעים לבן אפור ושחור מוגדרים להיות 1,0,1-  
רק בפעם הראשונה,כשhead הוא קודקוד המקור, הצבע משתנה לכאורה (הצבעים נכונים כשאני מדפיסה את  head->colour אבל כשאני מדפיסה את  head_city.colour ו iהמקור, הצבע לא תואם.) 
אני כבר נואשת... למישהו יש רעיון? 
         |