先设置一个空的邻接表,然后查找邻接矩阵的值不为零元素,找到后在邻接表的单链表对应位置加入表边节点。
在邻接表上顺序取出每个表边结点,将邻接矩阵对应单元置1.
- template <class T>
- VertexNode
* change(MGraph v) { - VertexNode
* p; - int i,j;
- struct ArcNode *q;
-
- p=new VertexNode
[v.vertexNum]; - for(i=0;i
//邻接表赋初值 - p[i].vertex=i;
- p[i].firstEdge=NULL;
- }
-
- for(i=0;i
- for(j=0;i
- if(v.arc[i][j]){
- q=new struct ArcNode;
- q->adjvex=j;
- q->next=p[i].firstEdge;
- p[i].firstEdge=q;
- }
- }
- }
- return p;
- }
邻接表转换为邻接矩阵
- template <class T>
- int** change(ALGraph
v) { - int **p=new int[v.vertexNum][v.vertexNum];
- int i,j;
- struct ArcNode *q;
-
- for(i=0;i
//邻接矩阵赋初值 - for(j=0;j
- p[i][j]=0;
- }
- }
- for(i=0;i
- q=v.adjList[i].firstEdge;
- while(q){
- p[i][q->adjvex]=1;
- q=q->next;
- }
- }
- return p;
- }
-
相关阅读:
Java之线程池的详细解析
【Android -- 数据存储】使用 SharedPreferences 存储数据
力扣第239题 c++滑动窗口经典题 单调队列
LINUX系统编程:基于环形队列和信号量的生产者消费者模型
你不知道的原生js国际化接口
Oracle中系统内置函数(四)
MySQL学习笔记-7. 搭建“三高”架构的基础
64个热门图像分类数据集免费、高速资源分享,涵盖通用视觉、食物、艺术、医疗等多种场景
ffmpeg6.0编译(NDK)
Spring+SpringMVC+MyBatis框架整合的配置
-
原文地址:https://blog.csdn.net/Hsianus/article/details/134487971