File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change
1
+ class AdjNode:
2
+ def __init__(self, data):
3
+ self.vertex = data
4
+ self.next = None
5
+
6
+ class Graph:
7
+ def __init__(self, v):
8
+ self.v = v
9
+ self.graph = [None]*self.v
10
+
11
+ def add_edge(self, src, dest):
12
+ node = AdjNode(dest)
13
+ if self.graph[src]:
14
+ current = self.graph[src]
15
+ while current.next:
16
+ current = current.next
17
+ current.next = node
18
+ elif self.graph[src]==None:
19
+ self.graph[src] = node
20
+
21
+ node = AdjNode(src)
22
+ if self.graph[dest]:
23
+ current = self.graph[dest]
24
+ while current.next:
25
+ current = current.next
26
+ current.next = node
27
+ elif self.graph[dest]==None:
28
+ self.graph[dest] = node
29
+
30
+ def print_edges(self):
31
+ for i in range(self.v):
32
+ current = self.graph[i]
33
+ print("{}".format(i), end='')
34
+ while current:
35
+ print("-> {}".format(current.vertex), end='')
36
+ current = current.next
37
+ print()
You can’t perform that action at this time.
0 commit comments