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
22882288 </a>
22892289 </td>
22902290 <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" />
22932293 </a>
22942294 </td>
22952295 <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