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

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

10年积累的成都网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有武胜免费网站建设让你可以放心的选择与我们合作。

/* 无向图的邻接表法创建图的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代码怎么写

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


标题名称:用图的邻接表法创建图的实现完整C代码怎么写
网页链接:http://ybzwz.com/article/pgppoi.html