You are on page 1of 5

6/20/2021 SINGLY LINKED LIST IMPLEMENATION

class Node: def


__init__(self,data):
self.data = data
self.ref = None class
LinkedList: def
__init__(self):
self.head = None def
print_LL(self):
if self.head is None:
print("Linked list is empty!")
else:
n = self.head
while n is not None:
print(n.data,end=' ')
n = n.ref def
add_begin(self,data):
new_node = Node(data)
new_node.ref = self.head
self.head = new_node def
add_end(self,data): new_node
= Node(data) if self.head is
None: self.head =
new_node else:
n = self.head
while n.ref is not None:
n = n.ref
n.ref = new_node
def add_after(self,data,x):
n = self.head
while n is not None:
if x==n.data:
break
n = n.ref if n
is None:
print("node is not presesnt in LL")
else:
new_node = Node(data)
new_node.ref = n.ref
n.ref = new_node
def add_before(self,data,x):
if self.head is None:
print("Linked List is empty!")
return

localhost:8888/nbconvert/html/AD8251/SINGLY LINKED LIST IMPLEMENATION.ipynb?download=false 1/5


6/20/2021 SINGLY LINKED LIST IMPLEMENATION
In [3]:

localhost:8888/nbconvert/html/AD8251/SINGLY LINKED LIST IMPLEMENATION.ipynb?download=false 2/5


6/20/2021 SINGLY LINKED LIST IMPLEMENATION

if self.head.data==x:
new_node = Node(data)
new_node.ref = self.head
self.head = new_node
return n = self.head
while n.ref is not None:
if n.ref.data==x:
break n = n.ref
if n.ref is None:
print("Node is not found!")
else:
new_node = Node(data)
new_node.ref = n.ref
n.ref = new_node
def delete_begin(self):
if self.head is None:
print("Linked List is empty can't delete!")
else:
self.head=self.head.ref
def delete_end(self): if
self.head is None:
print("Linked List is empty and can't delete")
else: while n.ref.ref is not None:
n=n.ref
n.ref=None def
delete_at_value(self,x):
if self.head is None:
print("Linked List is empty can't delete!")
return if x==self.head.data:
self.head=self.head.ref
return n=self.head
while n.ref is not None:
if x==n.ref.data:
break
n=n.ref if n.ref
is None:
print('LL is Empty')
else:
n.ref=n.ref.ref

localhost:8888/nbconvert/html/AD8251/SINGLY LINKED LIST IMPLEMENATION.ipynb?download=false 3/5


6/20/2021 SINGLY LINKED LIST IMPLEMENATION

ll=LinkedList()
ll.add_begin(5) ll.add_end(8)
ll.add_begin(5)
ll.add_end(20)
ll.add_begin(3)

In [4]:

ll.print_LL()

In [5]:

ll.delete_at_value(5)

3 5 5 8 20

In [6]:

ll.print_LL()

In [7]:

ll.delete_begin()

localhost:8888/nbconvert/html/AD8251/SINGLY LINKED LIST IMPLEMENATION.ipynb?download=false 4/5


6/20/2021 SINGLY LINKED LIST IMPLEMENATION

3 5 8 20 In

[8]:

ll.print_LL()

In [9]:

5 8 20 In

[ ]:

localhost:8888/nbconvert/html/AD8251/SINGLY LINKED LIST IMPLEMENATION.ipynb?download=false 5/5

You might also like