0% found this document useful (0 votes)
27 views

Assignment 5

Uploaded by

Siddhant
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
27 views

Assignment 5

Uploaded by

Siddhant
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 6
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 wu so127121, 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=true soi27/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=trve so127121, 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=trve so127121, 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=trve soi27/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

You might also like