forked from trekhleb/javascript-algorithms
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGraphEdge.js
More file actions
Latest commit
40 lines (35 loc) · 761 Bytes
/
Copy pathGraphEdge.js
File metadata and controls
40 lines (35 loc) · 761 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
exportdefaultclassGraphEdge{
/**
* @param {GraphVertex} startVertex
* @param {GraphVertex} endVertex
* @param {number} [weight=1]
*/
constructor(startVertex,endVertex,weight=0){
this.startVertex=startVertex;
this.endVertex=endVertex;
this.weight=weight;
}
/**
* @return {string}
*/
getKey(){
conststartVertexKey=this.startVertex.getKey();
constendVertexKey=this.endVertex.getKey();
return`${startVertexKey}_${endVertexKey}`;
}
/**
* @return {GraphEdge}
*/
reverse(){
consttmp=this.startVertex;
this.startVertex=this.endVertex;
this.endVertex=tmp;
returnthis;
}
/**
* @return {string}
*/
toString(){
returnthis.getKey();
}
}