C circular dependency

前端 未结 3 1404
予麋鹿
予麋鹿 2020-11-30 13:24

I have this problem with circular dependency in C, I looked around the other questions about this topic but really couldn\'t find the answer.

I hav

3条回答
  •  青春惊慌失措
    2020-11-30 13:34

    I'm assuming a vertex needs to know what edges connect to it, and an edge needs to know what vertices it connects to.

    If it were up to me, I'd create separate data types to associate vertices and edges:

    struct vertex {
      char *name;
      float x, y;
    };
    
    // edgelist as before
    
    struct edge {
      float weight;
      int found;
    };
    
    // New struct to map edges and vertices
    
    struct vertexEdge { // you can probably come up with a better name
      struct vertex *v;
      struct edgelist *edges;
    };
    
    // New struct to map vertices and edges
    
    struct edgeVertext {
    {
      struct edge *e;
      struct vertex *vertices;
    };
    

    I'm running about 10-12 hours behind on sleep for the week, so I'm pretty sure there's a better way to design the mapping types (probably in a way that doesn't require more than one type), but this is the general approach I'd take.

提交回复
热议问题