//Function use: 选择创建各类图 Status CreateGraph(MGraph *pG) { int nSel; printf("请输入图的类型:(0:有向图 1:有向网 2.无向图 3.无向网:"); scanf("%d", &nSel); switch (nSel) { case 0: CreateDG(pG); break; case 1: CreateDN(pG); break; case 2: CreateAG(pG); break; case 3: CreateAN(pG); break; default: printf("输入有误!\n"); return ERROR; } return OK; }
Status CreateGraph(MGraph &G) {/* 采用数组(邻接矩阵)表示法,构造图G。算法7.1 */ printf("请输入图G的类型(有向图:0,有向网:1,无向图:2,无向网:3): "); scanf("%d", G.kind); switch (G.kind) { case DG: case DN: case AG: case AN: return CreateAN(G); //无向网 default:return ERROR; } }
void main() { MGraph G; CreateAN(G); MiniSpanTree_PRIM(G,G.vexs[0]); }