| #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 |