MCPcopy Create free account
hub / github.com/ndleah/python-mini-project / LinkedStack

Class LinkedStack

linked_lists/linked_stack.py:5–42  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3
4
5class LinkedStack:
6
7 class _Node:
8 __slots__ = "_element" , "_next"
9
10 def __init__(self, element, next):
11 self._element = element
12 self._next = next
13
14 def __init__(self):
15 self._head = None
16 self._size = 0
17
18 def __len__(self):
19 return self._size
20
21
22 def is_empty(self):
23 return self._size == 0
24
25 def push(self, e):
26 self._head = self._Node(e, self._head)
27 self._size += 1
28
29 def top(self):
30 if self.is_empty():
31 raise Empty("stack is empty")
32 return self._head._element
33
34
35 def pop(self):
36 if self.is_empty():
37 raise Empty("stack is emoty")
38
39 answer = self._head._element
40 self._head = self._head._next
41 self._size -= 1
42 return answer
43

Callers 1

mainFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected