其他分享
首页 > 其他分享> > C语言数据结构_图的创建

C语言数据结构_图的创建

作者:互联网

image-20220308200327801

image-20220308200415154

邻接表存储结构的图的代码描述

CreatGraph(int n, VNode G[] ){
    int i, e;
    ArcNode *p, *q;
    printf("Input the information of the vertex\n");
    for(i=0; i<n; i++){
        Getdata(G[i]);			//得到每个顶点中的数据
        G[i].firstarc = NULL;			//初始化第一条边为空
    }
    for(i=0; i<n; i++){
        printf("Creat the edges for the %dth vertex\n", i);
        scanf("%d", &e);			//输入边指向的顶点下标
        while(e != -1){
            p = (ArcNode *)malloc(sizeof(ArcNode));		//创建一条边
            p->next = NULL;			//链表结点的next域置NULL
            p->adjvex = e;			//将该边指向顶点的信息赋值给adjvex
            if(G[i].firstarc == NULL) G[i].firstarc = p;		//i结点的第一条边
            else q->next = p;			//下一条边
            q = p;
            scanf("%d", &e);
        }
    }
}

image-20220308201854194

创建图1-34所示的邻接表结构,通过下面的代码实现

main()
{
    VNode G[3];
    CreatGraph(3, G);
}

标签:NULL,int,创建,VNode,C语言,next,adjvex,CreatGraph,数据结构
来源: https://www.cnblogs.com/zonkidd/p/15982347.html