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;
}
全部评论

相关推荐

11-15 19:28
已编辑
蚌埠坦克学院 硬件开发
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务