#include <stdio.h>
#include <stdlib.h>
#define MAX 4
typedef struct GNode{
int v;
int e;
int w[MAX][MAX];
char vex[MAX];
int flag[MAX];
}GNode;
GNode* initGrape(GNode *G)
{
int i,j;
G=(GNode *)malloc(sizeof(GNode));
G->v=MAX;
G->e=3;
for(i=0;i<MAX;i++)
G->vex[i]='A'+i;
for(i=0;i<MAX;i++)
G->flag[i]=0;
for(i=0;i<MAX;i++)
for(j=0;j<MAX;j++)
G->w[i][j]=0;
G->w[0][1]=G->w[1][0]=G->w[0][2]=G->w[2][0]=G->w[1][2]=G->w[2][1]=1;
G->w[2][5]=G->w[5][2]=G->w[3][7]=G->w[7][3]=G->w[1][9]=G->w[9][1]=1;
return G;
}
/*void dfs(GNode *G,int n)
{
int i;
if(G->flag[n]==0)
{
printf("%c",G->vex[n]);
G->flag[n]=1;
}
for(i=0;i<MAX;i++)
{
if(G->w[n][i]!=0&&i!=n) dfs(G,G->vex[i]);
}
}*/
int main()
{
int i,j;
GNode *G=NULL;
G=initGrape(G);
printf(" ");
for(i=0;i<MAX;i++)
printf("%c ",G->vex[i]);
printf("
");
for(i=0;i<MAX;i++)
{
printf("%c ",G->vex[i]);
for(j=0;j<MAX;j++)
printf("%d ",G->w[i][j]);
printf("
");
}
printf("------------dfs-------------
");
// dfs(G,2);
printf("
");
return 0;
}