Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Node:
- def __init__(self, val):
- self.val = val
- self.both = 0
- def __str__(self):
- return str(self.val)
- class XORLinkedList:
- def __init__(self):
- self.head = Node(None)
- self.tail = Node(None)
- def add(element):
- newNode = Node(element)
- if self.head.val == None:
- self.head = self.tail = newNode
- else:
- newNode.both = get_pointer(self.tail)
- self.tail.both = self.tail.both ^ get_pointer(newNode)
- self.tail = newNode
- def get(ind):
- previousAddr = 0
- current = this.head
- for i in range(0,ind-1):
- temp = get_pointer(current)
- current = dereference_pointer(previousAddr^current.both)
- previousAddr = temp
- if curret.both == previousAddr and i < ind-2:
- print("Invalid index.")
- return None
- return current
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement