Skip to content

Instantly share code, notes, and snippets.

@A-gambit
Created May 19, 2014 21:02
Show Gist options
  • Save A-gambit/79525a13de814f32bb69 to your computer and use it in GitHub Desktop.
Save A-gambit/79525a13de814f32bb69 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html>
<head>
<title>TEST</title>
</head>
<body>
<h1><span>3</span> <span>2</span></h1>
<div>
<span>1</span> <span>2</span> <span>2</span> <br>
<span>2</span> <span>3</span> <span>2</span>
</div>
<script type="text/javascript">
main();
function getNumberOfArc(el){
el=document.getElementsByTagName("h1")[0].children[1].innerHTML;
return el;
}
function getNumberOfVer(el){
el=document.getElementsByTagName("h1")[0].children[0].innerHTML;
return el;
}
function getGraph(graph, num){
graph=GetSruct(graph, num);
return graph;
function GetSruct(el, num){
for(var i=0; i<num*4; i+=4){
el.first[el.first.length]=GetElement(i);
el.last[el.last.length]=GetElement(i+1);
el.power[el.power.length]=GetElement(i+2);
}
return el;
}
function GetElement(index){
var el=document.getElementsByTagName("div")[0].children[index].innerHTML;
el=parseInt(el);
return el;
}
}
function mackArray(n,m,graph,arr,inf){
arr = AddArray(arr,n);
for(var i=0;i<n;i++){
arr[i]=AddArray(arr,n);
}
arr=PrepearArray(arr,inf,n);
arr=InputDataInArray(arr,graph);
return arr;
function AddArray(arr,n){
arr = new Array(n);
return arr;
}
function PrepearArray(arr,inf,n){
for(var row=0; row<n;row++)
for(var col=0;col<n;col++)
arr[row][col]=inf;
return arr;
}
function InputDataInArray(arr,graph){
for(var i=0;i<m;i++)
arr[graph.first[i]-1][graph.last[i]-1]=1;
return arr;
}
}
function floydArray(n,arr){
arr=PrepearAlgorithm(n,arr);
arr=MainAlgorithm(n,arr);
return arr;
function PrepearAlgorithm(n,arr){
for(var i=0;i<n;i++)
arr[i][i]=0;
return arr;
}
function MainAlgorithm(n,arr){
for(var k=0;k<n;k++)
for(var i=0;i<n;i++)
for(var j=0;j<n;j++)
arr[i][j]= arr[i][j]>arr[i][k]+arr[k][j] ? arr[i][k]+arr[k][j] : arr[i][j];
return arr;
}
}
function main(){
const inf=10000000000;
var n=0,
m=0;
var graph = {
first: [],
last: [],
power: []
};
var arr = [];
n=getNumberOfVer(n);
m=getNumberOfArc(m);
graph=getGraph(graph, m);
arr=mackArray(n,m,graph,arr,inf);
arr=floydArray(n,arr,inf);
console.log(arr);
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment