⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 creat.h

📁 各种排序方法源码
💻 H
字号:

//--------------------------------构造图------------------------------------------//
void creatGraph(ALGraph *G,char *fi)
{//输入各个顶点及弧的信息构造图
	int i,j,k;
	int w;
	char v1[10],v2[10];//图顶点名最长10个字符
	FILE *fp;
	if((fp=fopen(fi,"r"))==NULL)
	{
		printf("can not open %s file.\n",fi);
		exit(0);
	}
	fscanf(fp,"%d%d",&G->vexnum,&(G->arcnum));//读入顶点数和弧数
	G->vex=(vnode **)malloc(G->vexnum*sizeof(vnode *));  //为顶点分配空间
	for(i=0;i<G->vexnum;++i)
	{
		G->vex[i]=(vnode *)malloc(5*sizeof(char));
	}
    G->arc=(unsigned int **)malloc(G->vexnum*sizeof(unsigned int *));  //为弧分配空间,邻接矩阵存储图
	for(i=0;i<G->vexnum;++i)
	{
		G->arc[i]=(unsigned int *)malloc(G->vexnum*sizeof(unsigned int));
	}
    for(i=0;i<G->vexnum;++i)  //初始化弧
	{
		for	(j=0;j<G->vexnum;++j)
			G->arc[i][j]=Maxint;
	}
	for(i=0;i<G->vexnum;++i)     //读入顶点
	{
		fscanf(fp,"%s",G->vex[i]);
	}
	
	for(k=0;k<G->arcnum;++k)  //读入弧信息
	{
		fscanf(fp,"%s%s%d",v1,v2,&w);
		i=locatevex(G,v1);
		j=locatevex(G,v2);
		G->arc[i][j]=w;
	}
	fclose(fp);
}

void creatGraphm(ALGraph *G,char *fi)
{//输入各个顶点及弧的信息构造图
	int i,j;
	int w;
	FILE *fp;
	if((fp=fopen(fi,"r"))==NULL)
	{
		printf("can not open %s file.\n",fi);
		exit(0);
	}
	fscanf(fp,"%d",&G->vexnum);//读入顶点数
	G->vex=(vnode **)malloc(G->vexnum*sizeof(vnode *));  //为顶点分配空间
	for(i=0;i<G->vexnum;++i)
	{
		G->vex[i]=(vnode *)malloc(5*sizeof(char));
	}
    G->arc=(unsigned int **)malloc(G->vexnum*sizeof(unsigned int *));  //为弧分配空间,邻接矩阵存储图
	for(i=0;i<G->vexnum;++i)
	{
		G->arc[i]=(unsigned int *)malloc(G->vexnum*sizeof(unsigned int));
	}
    for(i=0;i<G->vexnum;++i)  //初始化弧
	{
		for	(j=0;j<G->vexnum;++j)
			G->arc[i][j]=Maxint;
	}
	for(i=0;i<G->vexnum;++i)     //读入顶点
	{
		fscanf(fp,"%s",G->vex[i]);
	}
	
	for(i=0;i<G->vexnum;++i)  //读入弧信息
	{
		for(j=0;j<G->vexnum;++j)
		{
		fscanf(fp,"%d",&w);
		if(w==-1||w==0)
			G->arc[i][j]=Maxint;
		else
			G->arc[i][j]=w;		
		}
	}
	fclose(fp);
}

⌨️ 快捷键说明

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