7.2.c

来自「数据结构--C语言 数据结构源代码大全 用C语言编写」· C语言 代码 · 共 47 行

C
47
字号
/*建立一个有向图的十字链表的算法如下:*/

#include "OrthList.h"


void  CrtOrthList(OrthList *g)
/*从终端输入n个顶点的信息和e条弧的信息,以建立一个有向图的十字链表*/
{
	int n,e;
	int i,j,k;
	char vt,vh;

	ArcNode *p;
	printf("从键盘输入图的顶点个数和弧的个数");
	fflush(stdin);
	scanf("%d,%d",&n,&e);  /*从键盘输入图的顶点个数和弧的个数*/
	g->vexnum = n;
	g->arcnum = e;
	for(i=0;i<n;i++) 
	{
		printf("输入图的顶点");
		fflush(stdin);
		scanf("%c",&g->vertex[i].data);
		g->vertex[i].firstin=NULL;g->vertex[i].firstout=NULL;
	}
	for(k=0;k<e;k++) 
	{
		printf("输入一条弧的两个顶点");
		fflush(stdin);
		scanf("%c,%c",&vt,&vh);
		i=LocateVertex(g,vt);
		j = LocateVertex(g,vh);
		p=(ArcNode*)malloc(sizeof(ArcNode));
		p->tailvex=i;
		p->headvex=j;
		p->tlink=g->vertex[i].firstout;
		g->vertex[i].firstout=p;
		p->hlink=g->vertex[j].firstin;
		g->vertex[j].firstin=p;
    }
}/* CrtOrthList */

void main()
{
	OrthList g;
	CrtOrthList(&g);
}

⌨️ 快捷键说明

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