Status CreateGraph(ALGrapth *G){ int kind; printf("输入图种类\n"); scanf("%d", &kind); (*G).kind = (GraphKind)kind; switch((*G).kind){ case DG: return CreateDG(&*G); case UDG: return CreateUDG(&*G); default: return ERROR; } }
void main() { MGraph G; printf("create\n"); if(CreateUDG(G)) { printf("output DFS\n"); DFSTraverse(G); printf("output BFS\n" ); BFSTraverse(G,Visit); } }
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); } }
/* * @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; } }
//--------------------------------Main Function----------------------------------------// int main( void ) { AMLGraph G ; CreateUDG( &G ) ; //Input: a-b , a-d , b-c , b-e , c-d , c-e ; // FirstAdjVex( G , "b" ) ; // NextAdjVex( G , "b" , "d" ) ; // NextAdjVex( G , "b" , "c" ) ; Output( G ) ; // InsertVex( &G , "f" ) ; // DeleteArc( &G , "a" , "b" ) ; // DeleteVex( &G , "d" ) ; // InsertArc( &G , "d" , "e" ) ; // Output( G ) ; // DFSTraverse( G , visit ) ; // BFSTraverse( G , visit ) ; return 0 ; }