Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
LinkedNode and its use in Stack and Queue implementation
""" LinkedNode class and its use in Stack and Queue implementation Author: Jayesh Chandrapal """ class LinkedNode: __slots__ = "value", "link" def __init__(self, value, link = None): self.value = value self.link = link def __str__(self): return str(self.value) def __repr__(self): return "LinkedNode(" + repr(self.value) + "," + repr(self.link) + ")" def testLinkedNode(): nodes = LinkedNode(10, LinkedNode(20, LinkedNode(30))) n = nodes while n is not None: print(n.value) n = n.link print() print(nodes) print(repr(nodes)) # Stack implementation class Stack: __slots__ = "top", "length" def __init__(self): self.top = None self.length = 0 def __str__(self): current = top while current is not None: print(current.value) current = current.link def push(self, value): self.top = LinkedNode(value, self.top) self.length += 1 def peek(self): return self.top.value def pop(self): temp = self.top.value self.top = self.top.link self.length -= 1 return temp def empty(self): return self.top == None def size(self): return self.length def testStack(): stack = Stack() stack.push(10) assert stack.size() == 1 stack.push(20) assert stack.size() == 2 assert stack.peek() == 20 assert stack.pop() == 20 assert stack.size() == 1 assert stack.pop() == 10 assert stack.size() == 0 print("all tests passed") # Queue implementation class Queue: __slots__ = "front", "back", "length" def __init__(self): self.front = None self.back = None self.length = 0 def __str__(self): current = top while current is not None: print(current.value) current = current.link def enqueue(self, value): self.front = LinkedNode(value, self.top) self.length += 1 def peek(self): return self.top.value def dequeue(self): temp = self.top.value self.top = self.top.link self.length -= 1 return temp def empty(self): return self.front == None def size(self): return self.length if __name__ == "__main__": #testLinkedNode() testStack()
run
|
edit
|
history
|
help
0
shuru
Repeated match within another regular expression
Gauss
unhex 16 bit word python (string to hex)
LinkedList implementation
linked_lists_2+decisions
shivareddy error
abracadabra
Reverse linked-list in-place
Ex_039.py