1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
#ifndef _DGRAPH
#define _DGRAPH
#define BLOCK_SIZE 128
#define SMALL_BLOCK_SIZE 32
typedef struct{
int id;
void *tail,*head;
int length,width,attribute,maxWidth;
}DGArc;
typedef struct{
int maxInDegree,maxOutDegree;
int inDegree,outDegree;
int id;
char *name;
DGArc **inArc,**outArc;
int depth,height,width;
int color,attribute,address,verified;
void *feat;
}DGNode;
typedef struct{
int maxNodes,maxArcs;
int id;
char *name;
int numNodes,numArcs;
DGNode **node;
DGArc **arc;
} DGraph;
DGArc *newArc(DGNode *tl,DGNode *hd);
void arcShow(DGArc *ar);
DGNode *newNode(char *nm);
void nodeShow(DGNode* nd);
DGraph* newDGraph(char *nm);
int AttachNode(DGraph *dg,DGNode *nd);
int AttachArc(DGraph *dg,DGArc* nar);
void graphShow(DGraph *dg,int DetailsLevel);
#endif
|