Skip to content

Commit 3a79c2c

Browse files
committed
Added a code to merge linkedlist using python
1 parent b31d507 commit 3a79c2c

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
class SinglyLinkedListNode:
2+
def __init__(self, node_data):
3+
self.data = node_data
4+
self.next = None
5+
6+
7+
class SinglyLinkedList:
8+
def __init__(self):
9+
self.head = None
10+
self.tail = None
11+
12+
def insert_node(self, node_data):
13+
node = SinglyLinkedListNode(node_data)
14+
15+
if not self.head:
16+
self.head = node
17+
else:
18+
self.tail.next = node
19+
20+
self.tail = node
21+
22+
23+
def print_singly_linked_list(node, sep):
24+
while node:
25+
print(str(node.data), end=' ')
26+
27+
node = node.next
28+
29+
30+
def printt(headd):
31+
itr = headd
32+
llstr = []
33+
while itr:
34+
llstr.append(itr.data)
35+
itr = itr.next
36+
return llstr
37+
38+
39+
def mergeLists(llist1, llist2):
40+
ll1 = printt(llist1)
41+
ll2 = printt(llist2)
42+
ll3 = (ll1 + ll2)
43+
ll3.sort()
44+
lll = SinglyLinkedList()
45+
for ii in ll3:
46+
lll.insert_node(ii)
47+
return lll.head
48+
49+
50+
if __name__ == '__main__':
51+
52+
llist1_count = int(
53+
input("Enter the number of element to be in linked list 1: "))
54+
55+
llist1 = SinglyLinkedList()
56+
57+
print("Enter the elements to be added in list1 line by line")
58+
for _ in range(llist1_count):
59+
llist1_item = int(input())
60+
llist1.insert_node(llist1_item)
61+
62+
print("\n")
63+
llist2_count = int(
64+
input("Enter the number of element to be in linked list 2: "))
65+
66+
llist2 = SinglyLinkedList()
67+
68+
print("Enter the elements to be added in list2 line by line")
69+
for _ in range(llist2_count):
70+
llist2_item = int(input())
71+
llist2.insert_node(llist2_item)
72+
73+
llist3 = mergeLists(llist1.head, llist2.head)
74+
75+
print("\n")
76+
print("The merged linked list value: ")
77+
print_singly_linked_list(llist3, ' ')
78+
79+
'''
80+
Output window:
81+
82+
Enter the number of element to be in linked list 1: 3
83+
Enter the elements to be added in list1 line by line
84+
1
85+
2
86+
3
87+
88+
89+
Enter the number of element to be in linked list 2: 2
90+
Enter the elements to be added in list2 line by line
91+
3
92+
4
93+
94+
95+
The merged linked list value:
96+
1 2 3 3 4
97+
98+
'''

0 commit comments

Comments
 (0)