地图着色问题算法分析 第6页
参考代码
#include <stdio.h>
#include <stdlib.h>
#define MAXedg 20
#define MAX 0
#define N 4 //着色的颜色数
int color[30]={0};//来存储对应块的对应颜色
typedef char vextype;
typedef int adjtype;
typedef struct //定义图
{
vextype vexs[MAXedg]; //存放边的矩阵
adjtype arcs[MAXedg][MAXedg]; //图的邻接矩阵
int vnum,arcnum; //图的顶点数和边数
}Graph;
//***********************************************************
int LocateVex(Graph G,char u)
{
int i;
for(i=1;i<=G.vnum;i++)
{
if(u==G.vexs[i])
return i;
}
if(i==G.vnum)
{
printf("Error u!\n");
exit(1);
}
return 0;
}
//*******************************************
void CreateGraph(Graph &G) //输入图
{
int i,j,k, w;
vextype v1,v2;
printf("输入图的顶点数和边数:\n");
scanf("%d%d",&G.vnum,&G.arcnum);
getchar();
printf("输入图的各顶点:\n");
for(i=1;i<=G.vnum;i++)
{
scanf("%c",&G.vexs[i]);
getchar();
}
for(i=0;i<=G.vnum;i++)
for(j=0;j<=G.vnum;j++)
G.arcs[i][j]=MAX;
printf("输入边的两个顶点和权值(均用1表示):\n");
for(k=0;k<G.arcnum;k++)
{
scanf("%c", &v1);getchar();
www.751com.cn for(i=1;i<=G.vnum;i++)
printf("%c ",G.vexs[i]);
printf("\n");
printf("图的邻接矩阵:\n");
for(i=1;i<=G.vnum;i++)
{
for(j=1;j<=G.vnum;j++)
printf("%d ",G.arcs[i][j]);
printf("\n");
}
}
//*******************************************
int colorsame(int s,Graph G)//判断这个颜色能不能满足要求
{
int i,flag=0;上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
地图着色问题算法分析 第6页下载如图片无法显示或论文不完整,请联系qq752018766