<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>