File tree Expand file tree Collapse file tree 2 files changed +61
-2
lines changed Expand file tree Collapse file tree 2 files changed +61
-2
lines changed Original file line number Diff line number Diff line change @@ -2288,8 +2288,8 @@ In order to achieve greater coverage and encourage more people to contribute to
2288
2288
</a>
2289
2289
</td>
2290
2290
<td> <!-- Python -->
2291
- <a href="./CONTRIBUTING.md ">
2292
- <img align="center" height="25" src="./logos/github .svg" />
2291
+ <a href="./src/python/dynamic_stack.py ">
2292
+ <img align="center" height="25" src="./logos/python .svg" />
2293
2293
</a>
2294
2294
</td>
2295
2295
<td> <!-- Go -->
Original file line number Diff line number Diff line change
1
+ # Stack: Last In - First Out (LIFO)
2
+
3
+
4
+ # Define node format: value and a pointier to next
5
+ class Node :
6
+ def __init__ (self , value : int ) -> None :
7
+ self .value = value
8
+ self .next = None
9
+
10
+
11
+ class DynamicStack :
12
+ def __init__ (self ) -> None :
13
+ self .__first = None
14
+
15
+ def isEmpty (self ) -> bool :
16
+ if not self .__first :
17
+ return True
18
+ return False
19
+
20
+ def push (self , value : int ):
21
+ node = Node (value )
22
+ node .next = self .__first
23
+ self .__first = node
24
+
25
+ def pop (self ) -> int :
26
+ if self .isEmpty ():
27
+ raise Exception ("Stack is empty!" )
28
+ removedElement = self .__first .value
29
+ self .__first = self .__first .next
30
+ return removedElement
31
+
32
+ def show (self ) -> None :
33
+ node = self .__first
34
+ print ("[" , end = " " )
35
+ while node :
36
+ print (node .value , end = " " )
37
+ node = node .next
38
+ print ("]" )
39
+
40
+
41
+ def main () -> None :
42
+ dynamic_stack = DynamicStack ()
43
+
44
+ print (f"Push(1,2,4):" )
45
+ dynamic_stack .push (1 )
46
+ dynamic_stack .push (2 )
47
+ dynamic_stack .push (4 )
48
+
49
+ dynamic_stack .show ()
50
+
51
+ print (f"Remove last: { dynamic_stack .pop ()} " )
52
+ print (f"Remove last: { dynamic_stack .pop ()} " )
53
+ print (f"Remove last: { dynamic_stack .pop ()} " )
54
+ print ("Empty stack!" )
55
+ dynamic_stack .show ()
56
+
57
+
58
+ if __name__ == "__main__" :
59
+ main ()
You can’t perform that action at this time.
0 commit comments