习题-27.c

来自「这个是数据结构经典实现算法」· C语言 代码 · 共 36 行

C
36
字号
//本程序只给出了算法思想
//读者可以自己完善本程序
Status Build_AdjList(ALGraph &G)
//输入有向图的顶点数,边数,顶点信息和边的信息建立邻接表
{
	InitALGraph(G);
	scanf("%d",&v);
	if(v<0) 
		return ERROR; //顶点数不能为负
	G.vexnum=v;
	scanf("%d",&a);
	if(a<0) 
		return ERROR; //边数不能为负
	G.arcnum=a;
	for(m=0;m<v;m++)
		G.vertices[m].data=getchar(); //输入各顶点的符号
	for(m=1;m<=a;m++)
	{
		t=getchar();h=getchar(); //t为弧尾,h为弧头
		if((i=LocateVex(G,t))<0) 
			return ERROR;
		if((j=LocateVex(G,h))<0) 
			return ERROR; //顶点未找到
		p=(ArcNode*)malloc(sizeof(ArcNode));
		if(!G.vertices.[i].firstarc) 
			G.vertices[i].firstarc=p;
		else
		{
			for(q=G.vertices[i].firstarc;q->nextarc;q=q->nextarc);
			q->nextarc=p;
		}
		p->adjvex=j;p->nextarc=NULL;
	}//while
	return OK;
}//Build_AdjList

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?