数据结构(C环境下操作)

1、构建以下算法构建图1的邻接矩阵。

   void createdn(AMGraph &G)

{  

}

2、求出图1中每个顶点的入度。

void inde(AMGraph G)//输出G所有顶点的入度

 

}

3、求出图1中每个顶点的出度。

void outde(AMGraph G)//输出G所有顶点的出度

 

}

 

4、求出图1中出度最大的一个顶点编号。

int maxd((AMGraph G)//求G中出度最大的顶点编号

{

}

5、判断图G中是否存在边<x,y>。

int maxd((AMGraph G,vertextype x ,vertextype y)

//判断G中两个元素为x和y的顶点是否右边(从x到y的有向边)存在,若存//在,返回1,否则返回0

{

 

}

本题所要构建的图例如下所示:

参考算法:

Status CreateUDN(AMGRAPH &G)

{ cin>>G.vexnum>>G.arcnum; //输入总顶点数,总边数

for(i=o;i<G.vexnum;i++)  //依次输入点的信息

   cin>>G.vexs[i];

for(i=0;i<G.vexnum;i++)  //初始化邻接矩阵,边的权值均置为极大值MaxInt

  for(j=0;j<G.vexnum;++j)

      G.arcs[i][j]+=MaxInt;

   for(k=0;k<g.arcnum;++k)  //构造邻接矩阵·

   {

cin>>v1>>v2..w;  //输入一条边依附的顶点及权值

i=LocateVex(G,v1);j=LocateVex(G,v2); //确定v1和v2在G中的位置,即顶点数组的下标

G.arcs[i][j]=w;  //边<v1,v2的权值为w

G.arcs[i][j]=G.arcs[i][j];  //置<v1,v2>的对称边<v2,v1>的权值为w

}                    //for

return OK;

}

AMGraph 的数据结构有吗?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^