int main() { MGraph G; CreateUDN(G); PrintVex(G); BFSTraverse(G,Visit); return 0; }
int main() { VertexType v; MGraph G; CreateUDN(G); PrintVex(G); printf("输入想从那一条顶点建立二叉树:"); scanf("%d",&v); MiniSpanTree_Prim(G,v); return OK; }
Status CreateGraph(MGraph *G){ int kind; printf("输入图种类\n"); scanf("%d", &kind); (*G).kind = (GraphKind)kind; switch((*G).kind){ case DG: return CreateDG(&*G); case DN: return CreateDN(*G); case UDG: return CreateUDG(&*G); case UDN: return CreateUDN(&*G); default: return ERROR; } }
void CreateGraph(MGraph &G) { printf("请输入图G的类型(有向图:0 有向网:1 无向图:2 无向网:3):"); scanf("%d", &G.kind); switch (G.kind) { case DG: CreateDG(G); break; case DN: CreateDN(G); break; case UDG: CreateUDG(G); break; case UDN: CreateUDN(G); } }
int main() { VertexType v,w; MGraph G; CreateUDN(G); PrintVex(G); printf("获取v的邻接点w后面的一个邻接点:\n"); scanf("%d%d",&v,&w); if(NextAdjVex(G,v,w)!=ERROR) printf("%d\n",NextAdjVex(G,v,w)); PrintVex(G); DFSTraverse(G,Visit); return 0; }
/* * @description:创建图,包括有向图,无向图,有向网,无向网 */ Status CreateGraph(MGraph *G) { printf("please enter the kind of the graph(DG:0,DN:1,UDG:2,UDN:3):"); scanf("%d",&(*G).kind); switch((*G).kind) { case UDG: return CreateUDG(G); break; case DG: return CreateDG(G); case UDN: return CreateUDN(G); break; case DN: return CreateDN(G); break; default: return ERROR; } }