C/C++教程

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);
}
这篇关于C语言数据结构_图的创建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!