Skip to content

Commit c5d6b37

Browse files
authored
Merge pull request #603 from kumarankm/sllpyup
Updated single linked list python operations
2 parents e912bbb + 84604f3 commit c5d6b37

File tree

1 file changed

+44
-5
lines changed

1 file changed

+44
-5
lines changed

Data Structures/Linked Lists/Singly Linked List/Single-linked-list-operations.py

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ def __init__(self, data=None, next=None): # Creation of Node
66
self.data = data
77
self.next = next
88

9+
910
class LinkedList:
1011
def __init__(self):
1112
self.head = None # head points the first node
@@ -88,13 +89,51 @@ def insert_values(self, data_list):
8889
for data in data_list:
8990
self.insert_at_end(data)
9091

92+
# removing element at linkedlist with Value
93+
def removeval(self, value):
94+
count = 0
95+
temp = self.head
96+
while temp:
97+
if value != temp.data:
98+
count += 1
99+
temp = temp.next
100+
if count == self.length():
101+
print("Value is not present")
102+
103+
else:
104+
if value == self.head.data:
105+
self.head = self.head.next
106+
return
107+
temp = self.head
108+
while temp:
109+
if value == temp.next.data:
110+
temp.next = temp.next.next
111+
break
112+
113+
temp = temp.next
114+
91115

92116
if __name__ == '__main__':
93117
node1 = LinkedList()
94-
node1.insert_values(["python","C++","C","Java"])
95-
node1.insert_at(1,"Javascript")
96-
node1.remove_at(2)
118+
ins = list(input("Enter a values to be inserted by giving space[eg: python c++ java] : ").rstrip().split())
119+
node1.insert_values(ins)
120+
node1.print()
121+
ind = int(input("Enter the index to be added: "))
122+
val = input('Enter the value: ')
123+
node1.insert_at(ind, val)
124+
node1.print()
125+
remm = int(input('Enter the index to be removed: '))
126+
node1.remove_at(remm)
127+
node1.print()
128+
remval = input('Enter the value to be removed: ')
129+
node1.removeval(remval)
130+
node1.print()
131+
inss = list(input("Enter a values to be inserted by giving space[eg: 45 30 22] : ").rstrip().split())
132+
node1.insert_values(inss)
133+
node1. print()
134+
inend = int(input('Enter the number to be inserted at the end: '))
135+
node1.insert_at_end(inend)
97136
node1.print()
98-
node1.insert_values([45,7,12,567,99])
99-
node1.insert_at_end(67)
137+
remval1 = input('Enter the value to be removed: ')
138+
node1.removeval(remval1)
100139
node1.print()

0 commit comments

Comments
 (0)