Skip to content

Commit 2182827

Browse files
committed
Single Linkedlist
1 parent d584518 commit 2182827

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

DSA/Single Linkedlist.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,52 @@ def insert_beginning(self, data):
2525
nb.next = self.head
2626
self.head = nb
2727

28+
def insert_at_end(self, data):
29+
ne = Node(data)
30+
a = self.head
31+
print()
32+
while a.next is not None:
33+
print(a.data, end=" ")
34+
a = a.next
35+
a.next = ne
36+
37+
def insert_at_middle(self, pos, data):
38+
nm = Node(data)
39+
a = self.head
40+
for i in range(1, pos - 1):
41+
a = a.next
42+
nm.next = a.next
43+
a.next = nm
44+
45+
def delete_at_begining(self):
46+
a = self.head
47+
self.head = a.next
48+
a.next = None
49+
50+
# def delete_at_the_end(self):
51+
# a = self.head
52+
# while a.next.next:
53+
# a = a.next
54+
# a.next = None
55+
56+
def delete_at_the_end(self):
57+
a = self.head
58+
prev = None
59+
while a.next is not None:
60+
prev = a
61+
a = a.next
62+
prev.next = None
63+
64+
def delete_at_position(self, pos):
65+
if pos == 1:
66+
self.head = self.head.next
67+
a = self.head
68+
prev = None
69+
for i in range(1, pos):
70+
prev = a
71+
a = a.next
72+
prev.next = a.next
73+
2874

2975
n1 = Node(5) # create a data=5 and pass value in Node class
3076
sll = Sll() # create a object of sll
@@ -38,6 +84,16 @@ def insert_beginning(self, data):
3884
sll.traversal()
3985
sll.insert_beginning(1)
4086
sll.traversal()
87+
sll.insert_at_end(25)
88+
sll.traversal()
89+
sll.insert_at_middle(3, 12)
90+
sll.traversal()
91+
sll.delete_at_begining()
92+
sll.traversal()
93+
sll.delete_at_the_end()
94+
sll.traversal()
95+
sll.delete_at_position(3)
96+
sll.traversal()
4197

4298

4399
# Output:

0 commit comments

Comments
 (0)