第14周项目4(4)输出一些简单回路
来源:互联网 发布:angrybots源码 编辑:程序博客网 时间:2024/06/05 09:03
函数:
#include <stdio.h>#include <malloc.h>#include "graph.h"int visited[MAXV]; //定义存放节点的访问标志的全局数组void SomePaths(ALGraph *G,int u,int v,int s, int path[],int d)//d是到当前为止已走过的路径长度,调用时初值为-1{ int w,i; ArcNode *p; visited[u]=1; d++; //路径长度增1 path[d]=u; //将当前顶点添加到路径中 if (u==v && d==s) //输出一条路径 { printf(" "); for (i=0; i<=d; i++) printf("%d ",path[i]); printf("\n"); } p=G->adjlist[u].firstarc; //p指向u的第一条边 while(p!=NULL) { w=p->adjvex; //w为u的邻接顶点 if (visited[w]==0) //若顶点未标记访问,则递归访问之 SomePaths(G,w,v,s,path,d); p=p->nextarc; //找u的下一个邻接顶点 } visited[u]=0; //恢复环境}void DispSomePaths(ALGraph *G,int u,int v, int s){ int i; int path[MAXV]; for (i=0; i<G->n; i++) visited[i]=0; //访问标志数组初始化 printf("从%d到%d长为%d的路径:\n",u,v,s); SomePaths(G,u,v,s,path,-1); printf("\n");}int main(){ ALGraph *G; int A[5][5]= { {0,1,0,1,0}, {1,0,1,0,0}, {0,1,0,1,1}, {1,0,1,0,1}, {0,0,1,1,0} }; //请画出对应的有向图 ArrayToList(A[0], 5, G); DispSomePaths(G, 1, 4, 3); return 0;}
实现:
0 0
- 第14周项目4(4)输出一些简单回路
- 第12周 项目4(4)-输出一些简单回路
- 第十二周 项目四(4)-输出一些简单回路
- 第14周项目4(5)输出通过一个节点的简单回路
- 第十二周 项目4 利用遍历思想求解图问题(输出一些简单回路)
- 第12周 项目4(5)-输出通过一个节点的所有简单回路
- 第十二周项目4——利用遍历思想求解图问题(4)-输出一些简单回路
- 第十二周项目四----利用遍历思想求解图问题之输出一些简单回路
- 第十二周 项目4 利用遍历思想求解图问题(输出通过一个节点的所有简单回路 )
- 第十二周项目4—②输出通过一个节点的所有简单回路
- 第12周 项目4(2)- 输出简单路径
- 第12周项目4(2)输出简单路径
- 第十二周 项目4 输出一些简单路径
- 第十二周 项目四(5)-输出通过一个节点的所有简单回路
- 第14周项目4(3)输出所有路径
- 利用遍历思想求解图问题(输出一些简单回路)
- 第13周项目 4 冒泡输出
- 第14周项目4-由前往后输出数组
- 虚拟环境下搭建hadoop之一——搭建前的准备
- 第十六周 项目1 验证算法 堆排序
- 第十二周 项目2 操作用邻接表储存的图
- 网页链接触发原生Intent
- Git 常用命令速查表(图文+表格)
- 第14周项目4(4)输出一些简单回路
- iOS开发备忘录:自定义UINavigationBar背景图片和Back按钮
- 快速破解本地的mysql用户名和密码
- 第十六周 项目一 (7)归并排序
- 第六周项目5 后缀表达式
- 接口和抽象类的区别和联系
- 第十二周-迷宫问题(用深度遍历算法)
- 第十六周项目7 归并排序
- 最接近零的子数组和_LintCode