linjiebiao.h

来自「教学计划」· C头文件 代码 · 共 50 行

H
50
字号
typedef  struct node//表结点
{
	int  adjvex;
	struct node *nextarc;
}ArcNode;

typedef  struct //头结点
{
	int data;
	int indegree;
	ArcNode *firstarc;
}VNode;

typedef  struct 
{
	VNode a[n];
	int vexnum;//结点数
}AlGraph;

int CreateGraph(AlGraph &G)//建邻接表
{
	int i,j;
	ArcNode *p;
    int X[n][n]={{-1},{2,3,4,12,-1},
	{3,-1},{5,7,8,-1},{5,-1},{7,-1},
	{8,-1},{-1},{-1},{10,11,12,-1},{12,-1},{6,-1},{-1}};
	G.vexnum=n-1;	
	for(i=1;i<=G.vexnum;i++)
	{
		G.a[i].data=i;
		G.a[i].firstarc=NULL;
		G.a[i].indegree=0;
	}
	for(i=1;i<=G.vexnum;i++)
	{
		j=0;
		while(X[i][j]!=-1)
		{
            p=new ArcNode;
			if(!p) return(0);
			p->adjvex=X[i][j];
            p->nextarc=G.a[i].firstarc;
            G.a[i].firstarc=p;
			G.a[p->adjvex].indegree++;
			j++;
		}
	}
    return(1); 
}

⌨️ 快捷键说明

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