merge two sorted link list

Viewed 38

I am taking two linked lists and I am trying to merge two linked lists but it shows that the merge function is not defined. could you please tell me what can I do?

def merge_linkedlists(self ,Link_li, Link_l2):
        x = Node(0)
        tail = x
        while True:
            if link_li is None:
                print(link_l2.disp())
                break
            if link_l2 is None:
                print(link_li.disp())
                break
            if link_li.num >= link_li.num:
                tail.next = link_li
                link_li = link_li.next
            else:
                tail.next = link_l2
                link_l2 = link_l2.next
                
        tail = tail.next

if __name__ == '__main__':
    link_li=Linked_List()
    link_li.add_to_f(Node(3))
    link_li.add_to_f(Node(2))
    link_li.disp()
    print("")
    link_l2=Linked_List()
    link_l2.add_to_f(Node(5))
    link_l2.add_to_f(Node(4))
    link_l2.disp()
    print("")
    merge_linkedlists(link_li,link_l2)
    link_li.disp()
    print("")
    link_l3=Linked_List()
1 Answers

merge_linkedlists is method of a class. You should use it like this:

class A:
    def merge_linkedlists(self ,Link_li, Link_l2):
    ...


a = A()
a.merge_linkedlists(link_li,link_l2)
Related