问题及代码:
/*
*烟台大学计算机与控制工程学院
*作 者:孙丽玮
*完成日期:2016年11月17日
*问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题的处理方法。
(1)设计一个算法,判断顶点u到v是否有简单路径
(2)设计一个算法输出图G中从顶点u到v的一条简单路径(设计测试图时,保证图G中从顶点u到v至少有一条简单路径)。
(3)输出从顶点u到v的所有简单路径。
(4)输出图G中从顶点u到v的长度为s的所有简单路径。
(5)求图中通过某顶点k的所有简单回路(若存在)
*/
1、graph.h的代码(见图基本算法库)
2、graph.cpp的代码(见图基本算法库)
3、main.cpp的代码
#include <stdio.h>
#include <malloc.h>
#include "graph.h"
int visited[MAXV]; //定义存放节点的访问标志的全局数组
void ExistPath(ALGraph *G,int u,int v, bool &has)
{
int w;
ArcNode *p;
visited[u]=1;
if(u==v)
{