实验③
源程序。
一、输入如下所示程序;
#include
#include
extern void MatToList(MGraph,ALGraph *&); extern void DispAdj(ALGraph *);
int visited[MAXV];
void DFSALL(ALGraph *G,int v,int path[],int d)
{
ArcNode *p;
visited[v] = 1;
path[d] = v;
d++;
if(d==G->n)
{
for(int k=0;k printf(\ printf(\ } p = G->adjlist[v].firstarc; while(p!=NULL) { if(visited[p->adjvex]==0) if(visited[p->adjvex]==0) DFSALL(G,p->adjvex,path,d); p = p->nextarc; } visited[v] = 0; } } G->n = g.n; G->e = g.e; p = (ArcNode*)malloc(sizeof(ArcNode)); p->adjvex = j; p->nextarc = G->adjlist[i].firstarc; G->adjlist[i].firstarc = p; 二、对程序进行编译链接; 三、运行该程序,结果如图