图中顶点的简单回路

<script>

//-------------------------------------图的定义--------------------------//

function vnode()

{

this.visited=0;

this.vertex=0;

this.arcs=new Array();

}

function G()

{

this.adjlist=new Array();

}

function creategraph()

{

var a=[[2,3],[3],[4,5],[5],[1]];

var g=new G();

for (i=0;i<5;i++)

{

g.adjlist[i]=new vnode();

g.adjlist[i].vertex=i+1;

g.adjlist[i].arcs=a[i];

}

return g;

}

//-----------------------简单回路---------------------------------//

var a=new Array();

a.push([1]);

var g=creategraph();

while(a.length)

{

var tmp=g.adjlist[a[0][a[0].length-1]-1].arcs;

for(i=0;i<tmp.length;i++)

{

     if(tmp[i]==1){alert(a[0].concat([1]));continue;}

     for(j=0;j<a[0].length;j++)

     {

         if(tmp[i]==a[0][j])break;

         if(j==a[0].length-1)a.push(a[0].concat(tmp[i]));

     }

}

a.shift();

}

</script>

 

你可能感兴趣的:(简单)