fleury算法
fluery算法
void dfs(int x){
s.top++;
s.node[s.top] = x;
for(int i=0;i<n;i++){
if(graph[x][i]>0{
graph[x][i] = graph[i][x] = 0;
dfs(i);
break;
}
}
return;
}
void fluery(int start){
int i;
s.top = 0;
s.node[s.top] = start;
while(s.top>=0){
int b = 0;
for(int i=0;i<n;i++){
if(s.node[s.top][i]>0){
b = 1;
break;
}
}
if(b==0){
cout<<s.node[s.top]+1<<" ";
s.top--;
}else{
s.top--;
dfs(s.node[s.top+1]);
}
}
cout<<endl;
}