데이터 구조의 그림 - 인접 행렬

    

1.    

    

typedef int VType;

typedef struct 
{
    //      
    VType v[N];
    //         
    int matrix[N][N];
}Graph;

    

1.   
Graph *greate_graph()
{
             ,    0,g     
           
    for(i = 0;i < N;i++)
    {
        g->v[i] = i;
    }

      g
}

   
void input_edge(Graph *g)
{
    int i = 0,j = 0;

    //(V0,V1) (V0,V2) ...
    while(scanf("(V%d,V%d) ",&i,&j) == 2)
    {
        //getchar();
        g->matrix[i][j] = g->matrix[j][i] = 1;
    }
}

      
void print_matrix(Graph *g)
{

}
#include 
#include 
#include 
#include 


#define N 5


typedef int VType;
typedef struct 
{
    VType v[N];
    int matrix[N][N];
}Graph;


Graph *create_graph()
{
    Graph *g = NULL;
    int i = 0;


    g = (Graph *)malloc(sizeof(Graph));
    //memset(g,0,sizeof(Graph));
    bzero(g,sizeof(Graph));


    for(i = 0;i < N;i++)
    {
        g->v[i] = i;
    }


    return g;
}


void input_edge(Graph *g)
{
    int i = 0,j = 0;


    printf("Input edge like (V0,V1) (V0,V2) ...
");     //(V0,V1) (V0,V2) (V0,V3) ...     while(scanf("(V%d,V%d) ",&i,&j) == 2)//scanf     {         //getchar();         g->matrix[i][j] = g->matrix[j][i] = 1;     }     //     while(getchar() != '
');     return ; } void print_matrix(Graph *g) {     int i = 0,j = 0;     printf("%-4c",' ');     for(i = 0;i < N;i++)     {         printf("V%-3d",i);     }     putchar('
');     for(i = 0;i < N;i++)     {         printf("V%-3d",i);         for(j = 0;j < N;j++)         {             printf("%-4d",g->matrix[i][j]);         }         putchar('
');     }     return ; } int main() {     Graph *g = NULL;     g = create_graph();     input_edge(g);     print_matrix(g);          input_edge(g);     puts("=============================");     print_matrix(g);     return 0; }

좋은 웹페이지 즐겨찾기