#include
#include
#include
#include
#define ING 9999
int visited[10];/*访问标志数组*/
typedef struct ArcCell{
int adj;/*顶点关系类型,用1表示相邻,0表示不相邻*/
}ArcCell,**AdjMatrix;/*邻接矩阵*/
typedef struct type{
char data[3];/*顶点值*/
}VertexType;
typedef struct{
VertexType *vexs;/*顶点向量*/
AdjMatrix arcs;/*邻接矩阵*/
int vexnum,arcnum;/*图的顶点数和边数*/
}MGraph;
struct clos{
VertexType adjvex;
int lowcost;
}*closedge;/*辅助数组,low..为0时就表示已访问过*/
void InitGraph(MGraph *G)/*初始图*/
{ int i,nu,mu;
printf("n输入顶点的个数和(边)弧的个数:");
scanf("%d%d",&nu,&mu);
G->arcs=(ArcCell **)malloc(nu*sizeof(ArcCell *));
for(i=0;i
G->vexs=(VertexType *)malloc(nu*sizeof(VertexType));/*分配顶点空间*/
G->vexnum=nu;G->arcnum=mu;/*图的顶点数和边数*/
}
void InsertGraph(MGraph *G,int i,VertexType e)/*给图顶点向量付值*/
{ if(i<0||i>G->vexnum) return;
strcpy(G->vexs[i].data,e.data);
}
int Locate(MGraph G,VertexType v1)/*确定v1在图顶点中的位置*/
{ int i;
for(i=0;i
return -1;
}
void CreateUND(MGraph *G)/*采用数组(邻接矩阵)*/
{int i,j,k,*p,d,w;
VertexType v1,v2;
p=(int *)malloc(G->vexnum*sizeof(int));
for(i=0;i<10;i++) p[i]=0;
for(i=0;i
{ for(j=0;j
printf("按顺序输入顶点和它们的权值再顶点:如 'v1 3 v2' : n");
for(k=0;k
{printf("输入第 %d 条(边)弧: n",k+1);
scanf("%s%d%s",v1.data,&w,v2.data);/*输入相邻的两个点值和权值*/
i=Locate(*G,v1);j=Locate(*G,v2);/*用i 和j来确定它们的位置*/
G->arcs[i][j].adj=w;
G->arcs[j][i].adj=G->arcs[i][j].adj;/*有向图时就不用这个*/
}
}
int minimum(MGraph G,struct clos *closedge)/*求出辅助数组中除0之外最小权值的顶点位置*/
{int i,min,j,k;
for(i=0;i
{min=closedge[i].lowcost;k=i;break;}
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮