千家信息网

用图的邻接表法创建图的实现完整C代码怎么写

发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,这篇文章将为大家详细讲解有关用图的邻接表法创建图的实现完整C代码怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。/* 无向图的邻接表法创建图的C代
千家信息网最后更新 2024年10月24日用图的邻接表法创建图的实现完整C代码怎么写

这篇文章将为大家详细讲解有关用图的邻接表法创建图的实现完整C代码怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

/* 无向图的邻接表法创建图的C代码实现 */#include #include #include #define MaxSize 20   //图顶点的最大数量typedef char VertexType;//全局变量,记录图的结点的数量int VertexNum;//定义图顶点typedef struct GraphNode {        VertexType ver;        struct GraphNode *next;}GraphNode;//用邻接表法创建图void CreateGraph( GraphNode **g ){        VertexType ch;                                             //用来接收顶点名称        int i = 0;        GraphNode *p, *q;        (*g) = (GraphNode *)malloc(sizeof(GraphNode)*MaxSize);//分配一个结构体数组        printf("请输入图的顶点:\n");         //存储图的顶点        scanf("%c", &ch);        while( '\n' != ch ) {                (*g)[i].ver = ch;                (*g)[i].next = NULL;                i++;                scanf("%c", &ch);        }                VertexNum = i;                                                //记录顶点数                for( i=0; iver );                scanf("%c", &ch);                while( '\n' != ch ) {                        p = (GraphNode *)malloc(sizeof(GraphNode));                        p->ver = ch;                        q->next = p;                        q = p;                        q->next = NULL;                        scanf("%c", &ch);                }        }}//打印邻接表法创建的图void PrintGraph( GraphNode *g ){        GraphNode *p;        printf("图的顶点为:\n");           //打印顶点        for( int i=0; iver);                        p = p->next;                }                printf("\n");        }}int main(){        GraphNode *g;        CreateGraph( &g );        PrintGraph( g );        return 0;}

测试的图:

测试结果

关于用图的邻接表法创建图的实现完整C代码怎么写就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0