Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class LinkedNode:
- def __init__(self, content, prev = None, next = None):
- self.content = content
- self.prev = prev
- self.next = next
- def get_content(self):
- return self.content
- def set_content(self, content):
- self.content = content
- def get_next(self):
- return self.next
- def set_next(self, node):
- self.next = node
- def get_prev(self):
- return self.prev
- def set_prev(self, node):
- self.prev = node
- def __str__(self):
- return self.content
- class LinkedList:
- def __init__(self):
- self.start = None
- self.item = None
- def add(self, content):
- if self.start:
- self.item.set_next(LinkedNode(content, self.item, None))
- self.item = self.item.get_next()
- else:
- self.start = LinkedNode(content, None, None)
- self.item = self.start
- def remove(self, content):
- iter = self.start
- while iter:
- if iter.content == content:
- iter.get_prev().set_next(iter.get_next())
- iter = iter.get_next()
- def __iter__(self):
- self.iter = self.start
- return self
- def __next__(self):
- if not self.iter:
- raise StopIteration
- current = self.iter
- self.iter = self.iter.get_next()
- return current
- suicide = LinkedList()
- suicide.add("noose")
- suicide.add("gun")
- suicide.add("knife")
- suicide.add("drugs")
- for method in suicide:
- print(method)
- print()
- suicide.remove("gun")
- for method in suicide:
- print(method)
- print()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement