版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
2 篇文章0 订阅
订阅专栏

来由

今天看到一个红包死活一笔画不出来,然后我用c写个段程序用于解决这个问题

思想

主要采用栈来实现路径的记录与回退,灵感来源于迷宫求解问题

程序使用

给顶点标上序号求出这个图的邻接矩阵修改程序中宏定义的MAXSIZE为定点数运行,输入邻接矩阵

代码

#include//节点从1开始编号#define MAXSIZE 20typedefstruct edgeStack {int from;int to;}Edge; Edge VisitStack[100]={0}; Edge PathStack[100]={0};int VTop=-1,PTop=-1,SumEdges=0;voidInvisit(int from,int to){ VTop++; VisitStack[VTop].from=from; VisitStack[VTop].to=to;}voidInpath(int from,int to){ PTop++; PathStack[PTop].from=from; PathStack[PTop].to=to;}voidOutvisit(){ VTop--;}voidOutpath(){ PTop--;}intVisit(int from,int to)//边未走过则返回1{int i=0;for(i=0;i