Advertisement
Arsylk

Narkoman Happy End

Mar 6th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.64 KB | None | 0 0
  1.  
  2.  
  3. class LinkedNode:
  4.     def __init__(self, content, prev = None, next = None):
  5.         self.content = content
  6.         self.prev = prev
  7.         self.next = next
  8.  
  9.     def get_content(self):
  10.         return self.content
  11.  
  12.     def set_content(self, content):
  13.         self.content = content
  14.  
  15.     def get_next(self):
  16.         return self.next
  17.  
  18.     def set_next(self, node):
  19.         self.next = node
  20.  
  21.     def get_prev(self):
  22.         return self.prev
  23.  
  24.     def set_prev(self, node):
  25.         self.prev = node
  26.  
  27.     def __str__(self):
  28.         return self.content
  29.  
  30. class LinkedList:
  31.     def __init__(self):
  32.         self.start = None
  33.         self.item = None
  34.  
  35.     def add(self, content):
  36.         if self.start:
  37.             self.item.set_next(LinkedNode(content, self.item, None))
  38.             self.item = self.item.get_next()
  39.         else:
  40.             self.start = LinkedNode(content, None, None)
  41.             self.item = self.start
  42.  
  43.     def remove(self, content):
  44.         iter = self.start
  45.         while iter:
  46.             if iter.content == content:
  47.                 iter.get_prev().set_next(iter.get_next())
  48.             iter = iter.get_next()
  49.  
  50.     def __iter__(self):
  51.         self.iter = self.start
  52.         return self
  53.  
  54.     def __next__(self):
  55.         if not self.iter:
  56.             raise StopIteration
  57.         current = self.iter
  58.         self.iter = self.iter.get_next()
  59.         return current
  60.  
  61.  
  62. suicide = LinkedList()
  63. suicide.add("noose")
  64. suicide.add("gun")
  65. suicide.add("knife")
  66. suicide.add("drugs")
  67.  
  68. for method in suicide:
  69.     print(method)
  70. print()
  71.  
  72. suicide.remove("gun")
  73.  
  74. for method in suicide:
  75.     print(method)
  76. print()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement