📄 feidigui.c
字号:
#include"mgraph.h"
#include"sc.h"
#include"han.c"
int visited[MAX_VERTEX_NUM];
void DFSTraverse(MGraph G)
{
int v;
for(v=0;v<G.vexnum;v++)
visited[v]=0;
for(v=0;v<G.vexnum;v++)
if(!visited[v])
DFSN(G,v);
}
void DFSN(MGraph G,int v )
{
int i;
int w;
sqstack s;
InitStack(&s);
printf("%c",G.vexs[v]);
visited[v]=1;
w=-1;
push(&s,v,w);
while(!StackEmpty(s))
{
pop(&s,&v,&w);
if(w==-1)
{
for(i=0;i<G.vexnum&&G.arcs[v][i].adj<INFINITY;i++);
w=i;
}
else
{
for(i=w;i<G.vexnum&&G.arcs[v][i].adj<INFINITY;i++);
w=i;
}
push(&s,v,w);
if(!visited[w])
{
printf("%c",G.vexs[w]);
visited[w]=1;
v=-1;
push(&s,w,v);
}
}
}
/*void DFS(MGraph G,int v)
{
int k;
visited[v]=1;
printf("%c",G.vexs[v]);
for(k=0;k<G.vexnum;k++)
{
if(!visited[k]&&G.arcs[v][k].adj<INFINITY)
DFS(G,k);
}
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -