無向圖的鄰接矩陣存儲

#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100

typedef struct
{
    char vertex[MAXSIZE];
    int edges[MAXSIZE][MAXSIZE];
} MyGraph;
void GrarhPrint(MyGraph*g,int n);
void CreateMGraph(MyGraph*g,int e,int n);
void CreateMGraph(MyGraph*g,int e,int n)
{
    int i,j,k;
    printf("Input data of vertex(0~n-1):\n");
    for(i=0; i<=n; i++)
    {
        g->vertex[i]=i;
    }
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n; j++)
        {
            g->edges[i][j]=0;
        }
    }
    for(k=1;k<=e;k++)
    {
        printf("Input edge of(i,j):");
        scanf("%d%d",&i,&j);
        g->edges[i][j]=1;
        g->edges[j][i]=1;
    }
    GrarhPrint(g,n);
}
void GrarhPrint(MyGraph*g,int n)
{
    int i=0;
    int j=0;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
            printf("%d\t",g->edges[i][j]);//這裏輸入的是哪兩個點之間有路徑
        printf("\n");
    }
}
int main()
{
    MyGraph *g=(MyGraph*)malloc(sizeof(MyGraph));
    CreateMGraph(g,4,4);
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章