数据结构 图那一章的Firstadjvex怎么写?就写一下基本的操作就可以,很急,谢谢

 我来答
r1renhw
2012-11-27 · TA获得超过1577个赞
知道小有建树答主
回答量:810
采纳率:100%
帮助的人:420万
展开全部
存储结构是邻接矩阵

//初始条件:图G存在,v是G中某个顶点
//操作结果:返回v的第一个邻接顶点的序号.若顶点在G中没有邻接顶点,则返回-1
int FirstAdjVex(MGraph G,VertexType v)
{
int i,j = 0,k;
k = LocateVex(G,v);//k为顶点v在图G中的序号
if (G.kind % 2)//网
{
j = INFINITY;
}
for (i=0; i<G.vexnum; ++i)
{
if (G.arcs[k][i].adj != j)
{
return i;
}
}
return -1;
}

存储结构是邻接表
//初始条件:图G存在,v是G中某个顶点
//操作结果:返回v的第一个邻接顶点的序号,若顶点在G中没有邻接顶点,则返回-1
int FirstAdjVex(ALGraph G,VertexType v)
{
ArcNode * p;
int v1;
v1 = LocateVex(G,v);//v1为顶点v在图G中的序号
p = G.vertices[v1].firstarc;
if (p)
{
return p->data.adjvex;
}
else
{
return -1;
}
}
追问
那么NextAdjvex呢?
追答
//初始条件:图G存在,v是G中某个顶点,w是v的邻接顶点
//操作结果:返回v的(相对于w的)下一个邻接顶点的序号,若w是v的最后一个邻接顶点,则返回-1
int NextAdjVex(MGraph G,VertexType v,VertexType w)
{
int i,j = 0,k1,k2;
k1 = LocateVex(G,v);//k1为顶点v在图G中的序号
k2 = LocateVex(G,w);//k2为顶点w在图G中的序号
if (G.kind % 2)//网
{
j = INFINITY;
}
for (i=k2+1; i<G.vexnum; ++i)
{
if (G.arcs[k1][i].adj != j)
{
return i;
}
}
return -1;
}
迈杰
2024-11-30 广告
RNA-seq数据分析是转录组研究的核心,包括数据预处理、序列比对、定量分析、差异表达分析、功能注释和可视化等步骤。数据预处理主要是质量控制和去除低质量序列。序列比对使用HISAT2、STAR等工具将reads比对到参考基因组。定量分析评估... 点击进入详情页
本回答由迈杰提供
亲爱的龙龙001
2019-07-07
知道答主
回答量:5
采纳率:0%
帮助的人:2320
展开全部
倒数第二个return语句应该是p->adjvex
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式