我之前的程序采用邻接矩阵存储图链接如下,我这里稍作改进
https://blog.youkuaiyun.com/eu_zero/article/details/112056006
考虑到稀疏图用类似于邻接表的方式来输入可以节约用户的输入时间,于是我改进了代码,新增一个in()函数采用类似邻接表的录入形式,内部存储形式不变依旧用邻接矩阵存储图。
顺手修复了对于边数较少的图无法实现一笔画的bug
#include <stdio.h>
//节点从1开始编号
#define MAXSIZE 20
typedef struct edgeStack
{
int from;
int to;
}Edge;
Edge VisitStack[100]={
0};
Edge PathStack[100]={
0};
int VTop=-1,PTop=-1,SumEdges=0;
void Invisit(int from,int to)
{
VTop++;
VisitStack[VTop].from=from;
VisitStack[VTop].to=to;
}
void Inpath(int from,int to)
{
PTop++;
PathStack[PTop].from=from;
PathStack[PTop].to=to;
}
void Outvisit()
{
VTop--;
}
void Outpath()
{
PTop--;
}
int Visit(int from,int to) //边未走过则返回1
{
int i=0;
for

最低0.47元/天 解锁文章
4733





