深度生成森林.cpp
来自「数据结构中关于图的操作,含多种操作方法例子」· C++ 代码 · 共 39 行
CPP
39 行
#include"h.h"
void dfsforest(graph g,cstree &t)
{
t=NULL;
for(v=0;v<g.vexnum;++v)
visited[v]=0;
for(v=0;v<g.vexnum;++v)
if(!visited[v])
{
p=(cstree)malloc(sizeof(csnode));
*p={ getvex(g,v),NULL,NULL};
if(!t) t=p;
else q->nextsibling=p;
q=p;
dfstree(g,v,p);
}
}
void dfstree(graph g,int v,cstree &t)
{
visited[v]=1;
first=1;
for(w=firstadjvex(g,v);w>=0;w=nextsdjvex(g,v,w))
if(!visited[w])
{
p=(cstree)malloc(sizeof(csnode));
*p={ getvex(g,w),NULL,NULL};
if(first)
{
t->lchild=p;
first=0;
}
else q->nextsibling=p;
q=p;
dfstree(g,w,q);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?