Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Node:
- def __init__(self, data=True, next_el=None):
- self.data = data
- self.next_el = next_el
- def itr(first_elem):
- cur = first_elem
- yield cur
- while cur.next_el:
- cur = cur.next_el
- yield cur
- def display(first_elem):
- for i in itr(first_elem):
- print(i.data)
- def get_last_elem(first_elem):
- for i in itr(first_elem):
- if i.next_el is None:
- return i
- def exclude(first_elem, x):
- cur = first_elem
- while cur.next_el:
- if cur.next_el.data is x:
- cur.next_el = cur.next_el.next_el
- break
- def reverse(first_elem):
- return [i.data for i in itr(first_elem)][::-1]
- def minimum(first_elem):
- mv = (first_elem.data, 0)
- for i, val in enumerate(itr(first_elem)):
- if mv[0] > val.data:
- mv = (val.data, i)
- return mv
- l = Node(1, Node(2, Node(3, Node(4))))
- print(get_last_elem(l).data)
- l = Node(1, Node(2, Node(3, Node(2))))
- exclude(l, 2)
- display(l)
- l = Node(1, Node(2, Node(3)))
- print(reverse(l))
- l = Node(2, Node(5, Node(3, Node(1, Node(7)))))
- print(minimum(l))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement