예제 #1
0
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;
	}
}
예제 #2
0
void main()
{
	MGraph G;
	printf("create\n");
	if(CreateUDG(G))
	{
        printf("output DFS\n");
		DFSTraverse(G);
		printf("output BFS\n" );
		BFSTraverse(G,Visit);
	}
}
예제 #3
0
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;
	}
}	
예제 #5
0
파일: AMLGraph.c 프로젝트: wherego/C
//--------------------------------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 ;
}