问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

图的邻接表建立问题

提问网友 发布时间:2022-04-22 05:28
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2023-08-19 14:40
这是我写的图的邻接表添加一条边的函数,仅供参考
有两个函数,我的这个就是在最后一个邻接点上接上的,具体思路就是先设一个指针,让指针一直循环到邻接表的尾端,然后插入新边
template<class T>
bool ALGraph<T>::InsertEdge(const T& vex1,const T& vex2,int wgh)
{
//找到两个顶点在邻接表中的序号,分别赋值给v1,v2
//两个顶点中只要有一个在图的顶点表中未找到,则返回
int v1=LocateVertex(vex1);
int v2=LocateVertex(vex2);
if (v1==-1||v2==-1)
{
return false;
}
//为第一个顶点的邻接表中增加一条边
vertices[v1].AppendEdge(v2,wgh);
//如果为无向图,则必须在另一节点的邻接链表中增加一条边
if (style==UDG||style==UDN)
{
vertices[v2].AppendEdge(v1,wgh);
}
numEdges++;
return true;
}

template<class T>
bool VertexNode<T>::AppendEdge(int v,int wgh)
{
EdgeNode*p=edgeList;
EdgeNode*q=NULL;
//找到链表中末节点,末节点的指针赋值给q,如果发现有一个节点的adjVex的值
//于v相同,则返回false
while (p!=NULL)
{
if (p->adjVertex==v)
{
return false;
}
q=p;
p=p->next;
}
//在邻接表的最后加上一条边
p=new EdgeNode(v,wgh);
if (q==0)
{
edgeList=p;
}
else
q->next=p;
return true;
}

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

wps演示怎么做下拉式菜单 图的邻接表表示适用于表示什么图? 已知图的邻接表如下所示,根据算法,则从顶点0出发按... 已知图的邻接表如图,则从顶点0出发按广度优先遍历... 数据结构-图的邻接表表示(C语言) wps如何添加下拉选项 怎么理解图的邻接表中的边表 wps怎么设置下拉菜单选项 图的邻接表的时间复杂度问题 iphone屏幕自动点击软件? 微信如何实现一键关注? 通过账号密码网页登录支付宝,手机会收到提示吗 只是什么偏旁 订阅号助手自动点好看软件 怎么避免登网页支付宝时跳到APP支付宝 一只什么什么 只的偏旁是什么 现代汉语“只”字(上声)是什么词性 只的意思是什么? 网页上登录支付宝安全吗? 怎么在手机上录音 数据结构:图的邻接表实现 司法拍卖是什么 图的邻接表是否没有先后顺序 OPPO K3 快应用打开使用并添加到桌面的操作步骤? 一道关于图的邻接表类型定义的简单问题,谢谢回答!... 如何看待网络司法拍卖 C语言关于图的邻接表建立 数据结构简单选择 设某有向图的邻接表中有n个表头... 你如何看待扬州法院司法拍卖推出双十一返现这件事? 给出一个图如何画出其邻接表,要求具体过程 如何查询法院拍卖信息 怎么样才可以看到被法院拍卖的房子 全网通流量是什么意思 想买个流量卡,全国通用的,什么卡便宜 全网通流量是无限的吗? 什么卡流量多又便宜?而且是全网通的 流量全网通是什么? 什么是“虚土” 联通4g网络流量和全网通流量的区别
Top