//图
function Graph(v) {
this.vertices = v;
this.vertextlist = [];
this.edges = 0;
this.adj = [];
for (var i = 0; i < this.vertices; ++i) {
this.adj[i] = [];
this.adj[i]="";
}
this.addEdge = addEdge;
this.showGraph = showGraph;
this.dfs = dfs;
this.marked = [];
for (var i = 0; i < this.vertices; i++) {
this.marked[i] = false;
}
this.bfs = bfs;
this.edgeTo = [];
this.hasPathTo = hasPathTo;
this.topSortHelper = topSortHelper;
this.topSort = topSort;
}
function topSort() {
var stack = [];
var visited = [];
for (var i = 0; i < this.vertices; i++) {
visited[i] = false;
}
for (var i = 0; i < stack.length; i++) {
if (visited[i] = false) {
this.topSortHelper(i, visited, stack);
}
}
for (var i = 0; i < stack.length; i++) {
if (stack[i] != undefined && stack[i] != false) {
print(this.vertextlist[stack[i]]);
}
}
}
function topSortHelper(v,visited,stack) {
visited[v] = true;
for (var i = 0; i < this.adj[v].length;i++)
{
if (!visited[i]) {
this.topSortHelper(visited[i], visited, stack);
}
}
stack.push(v);
}
function addEdge(v,w) {
this.adj[v]=w;
this.adj[w]=v;
this.edges++;
}
function showGraph() {
for (var i = 0; i < this.vertices; i++) {
for (var j = 0; j < this.vertices; ++j) {
if (this.adj[i][j] != undefined)
{
document.getElementById('Context').innerHTML = this.adj[i][j];
}
}
}
}
var dataStore = [];
var nums = 100;
function setData() {
for (var i = 0; i <nums; i++) {
dataStore[i] = Math.floor(Math.random() * (nums + 1));
}
}
function ToString() {
var restr = "";
for (var i = 0; i < dataStore.length; i++) {
restr += dataStore[i] + " ";
if (i > 0 && i % 10 == 0)
{
restr += "</br>";
}
}
// return restr;
//}