sov27/21, 8:57 PM AAssignment5.ipynb - Colaboratory
+ QUESTION 1
class Node:
# Singly linked node
def _init_(self, data, next-None):
self._data = data
self._next = next
class SLinkedList:
def _init_(self):
# Create an empty list
self._head = None
self._tail = None
self._size = @
def _len_(self):
return self. size
def append_item(self, data
# Append items on the list
node = Node(data)
if self,_tail:
self._tail._next = node
self._tail = node
else:
self._head = node
self._tail = node
self._size += 1
def listprint(self):
# Print the linked list
printval = self._head
while printval is not Noni
print (printval. data, end=
printval = printval._next
def front (self, data):
# Insert a new node at the beginning of Linked List
node
Node(data)
node._next = self._head
self._head = node
self._size += 1
def end(self, data):
# Insert a new node at the end of Linked List
node = Node(data)
htpsseolab research google.com! HSEOy9VKyLWLXIV 1C2TSJWxY TisGC1 2s
oyegxBIYiS8 printMode=trve
wuso127121, 857 PM ‘Assignment5.ipynb - Colaboratory
node._next = None
self._tail._next
self._tail = node
self._size += 1
node
def insert_at(self, pos, data):
# Insert a new node at the specific position of Linked List
node = Node(data)
tmp = self._head
c=e
if pos == @:
self. front (data)
return
while ¢ < pos-1:
‘tmp = tmp._next
cHed
node._next = tmp._next
‘tmp._next = node
self._size += 1
def delete_at(self, pos):
# Delete a node at a specific position of Linked List
tmp = self._head
c=e
prev = tmp
while ¢ < pos:
prev = tmp
‘tmp = tnp._next
cued
prev._next = tmp._next
self. size -- 1
return tmp
def reverse(self):
tList = SLinkedList()
for i in range(self._size):
data = self.delete_at(self._size -1)
t_Ist-append_iten(data)
return t_ist
data
Ss = input("Enter the elements of the list
seen"
Ist = SLinkedList()
exe
for i in range(len(s)):
if s[i] ==
Ast append_item(s[c:4])
ceived
print("Number of nodes :", len(1st), "\n")
Ist.front(input("Enter element to insert at the beginning of Linked List : “))
Ast.listprint()
).strip()
hitpseoiab research google comida HSEQ/OVKyLWLXIV1C2TSINRY HeGC2secrllTo=kqbycgxBlYiSEprntMode=truesoi27/21, 8:57 PM
a
Prema co seme
print)
‘Assignment5.ipynb - Colaboratory
[st.end(input ("Enter element to insert at the end of Linked List : "))
Ast. listprint()
print()
print("Enter the position and element to insert in a Linked List :
p, elmt = input().split()
Ist.insert_at(int(p), elmt)
Ast. listprint()
print()
> end="
print("Deleting the middle element from the Linked List..")
Ist.delete_at(len(1st)//2)
Ist .Listprint()
print()
print("Linked List in reverse order
Ist.reverse().listprint()
aa
eres
Nunber of nodes : 6
Enter element
fi
Enter element
Ps
ee eau
rope: Cat amet REE:
Pewee)
to insert Smet Ret See
Feo
Pree eU Recs BE
Seto Bet
eer Eee!
Eien
QUESTION 2
class Node:
# Singly Linked node
def init__(self, data, next-None):
self._data = data
self._next = next
class SLinkedList:
def _init_(self):
# Create an empty list
self._head = None
self._tail = None
self._size = @
def _len_(self):
return self._size
def append_item(self, data):
hitpsseolab research google come! HSEOy9VKyLWLXIV 1C2TSJWxY TisGC1 2s
roar
oyegxBIYiS8 printMode=trveso127121, 857 PM ‘Assignment5.ipynb - Colaboratory
# Append items on the list
node = Node(data)
if self._tail:
self._tail._next = node
self._tail = node
else:
self._head = node
self._tail = node
self._size
def listprint(self):
# Print the Linked list
coe
printval = self._head
while printval is not Noni
print (printval._data, end:
c4ea
if ¢ I= self._size
print("->", end="")
printval = printval._next
def swap_pair(self):
# Swap elements of pairs
c=e
‘tmp = self._head
while c < self. size//2 :
‘tmp._data, tmp._next._data = tmp._next._data, tmp._data
‘tmp = tmp._next._next
cHa
Ist = SLinkedList()
S = input("Input : ").strip()
sas ">
c-e@
for i in range(len(s)-1):
if [i] and s[i+1]
1st append_item(s{c:i])
c=it2
Ast. swap_pair()
print("Output :
Ist.listprint()
» end=
> QUESTION 3
class Node:
# Singly linked node
htpsseolab research, google.com! HSEOy9VKyLWLXIV 1C2TSJxY TtsGC1 2s
oyegxBIYiS8 printMode=trveso127121, 857 PM ‘Assignment5.ipynb - Colaboratory
def _init_(self, data, next=None):
self._data = data
self._next = next
def data(self):
return self._data
class SLinkedList:
def _init_(self):
# Create an empty list
self._head = None
self._tail = None
self._size = @
def _len_(self)
return self._size
def append_item(self, data):
# Append items on the list
node = Node(data)
if self,_tail:
self. tail._next = node
self. tail = node
else:
self._head = node
self. tail = node
self._size
def Listprint(self):
# Print the Linked list
c=e
printval = self._head
while printval is not Non
print (printval._data, end=
ected
if ¢ I= selfs
print(
printval = printval._next
def even_first(self):
# Function to print all even numbers before odd while maintaining sequence
c=e
for i in range(len(self)):
tmp = self._head
while tmp._next
if (float(tmp._data) % 2 != @) and (float(tmp._next. data) % 2
‘tmp._data, tmp._next. data = tmp._next. data, tmp._data
tmp = tmp._next
None:
Ast = SLinkedList()
s = input("Input : ").strip()
htpsscolab research google.com! HSEOy9VKyLWLXIV 1C2TSJWxY TisGC1 2s
oyegxBIYiS8 printMode=trvesoi27/21, 857 PM ‘Assignment5.ipynb - Colaboratory
c=e
for i in range(len(s)-1):
if s[i] == "-" and s[is1] ==
Ast .append_item(s[c:i])
cri+2
Ast.even_first()
print("output : *,
Ast. listprint()
Corea) rey ene ee aoe
ieee ee
Orica aes se
[eaaaouer:
Y 5s completed at 8:57 PM ex
hitpsseolab research google come! HSEOy9VKyLWLXIV 1C2TSJWxY TisGC1 2s
oyegxBIYiS8 printMode=trve