Advertisement
Guest User

chujowe ale dziala

a guest
Feb 18th, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.19 KB | None | 0 0
  1. class Node(object):
  2.     def __init__(self, data=None):
  3.         self.data = data
  4.         self.next = None
  5.     def __str__(self):
  6.         res = str(self.data)
  7.         current = self
  8.         while current.next is not None:
  9.             current = current.next
  10.             res = f"{res} -> {current.data}"
  11.         return res + " -> None"
  12.  
  13. def add_new_node(current, next_node):
  14.     new_node = Node(next_node.data)
  15.     current.next = new_node
  16.     current = new_node
  17.     next_node = next_node.next
  18.     return current, next_node
  19.  
  20. def sorted_merge(first, second):
  21.     start = Node(-1)
  22.     current = start
  23.    
  24.     if not first and not second:
  25.         return None
  26.     elif not first:
  27.         return second
  28.     elif not second:
  29.         return first
  30.        
  31.     while first or second:
  32.         if first and not second:
  33.             current, first = add_new_node(current, first)
  34.         elif second and not first:
  35.             current, second = add_new_node(current, second)
  36.         else:
  37.             if first.data >= second.data:
  38.                 current, second = add_new_node(current, second)
  39.             else:
  40.                 current, first = add_new_node(current, first)
  41.     return start.next
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement