@@ -46,7 +46,7 @@ def prepending_a_node(self,new_data):
46
46
self .head = newNode
47
47
#creating a function for inserting at middle
48
48
def insert_at_middle (self ,index ,new_data ):
49
- if index < 0 or index >= self .get_length_of_cll ():
49
+ if index < 0 and index >= self .get_length_of_cll ():
50
50
raise Exception ("index error" )
51
51
return
52
52
if index == 0 :
@@ -129,9 +129,12 @@ def get_length_of_cll(self):
129
129
return
130
130
firstNOde = self .head
131
131
count = 0
132
- while firstNOde and firstNOde . next != self . head :
132
+ while firstNOde :
133
133
firstNOde = firstNOde .next
134
134
count += 1
135
+ if firstNOde == self .head :
136
+ break
137
+ #print("length of cll is {} ".format(count))
135
138
return count
136
139
137
140
@@ -162,11 +165,23 @@ def main():
162
165
c1 .insert_at_end (4646 )
163
166
c1 .insert_at_end (1 )
164
167
c1 .insert_at_middle (1 ,45 )
168
+ c1 .get_length_of_cll ()
165
169
c1 .print_cll ()
166
170
c1 .removing_an_element_at_beg ()
171
+ c1 .print_cll ()
167
172
c1 .removing_an_element_at_end ()
173
+ c1 .print_cll ()
168
174
c1 .removing_an_element_at_middle (1 )
175
+ c = c1 .get_length_of_cll ()
176
+ print ("The length of the cll is {}" .format (c ))
169
177
c1 .print_cll ()
170
178
179
+ c2 = cll ("Second Circular Linked list" )
180
+ c2 .removing_an_element_at_beg ()
181
+ c2 .removing_an_element_at_end ()
182
+ c2 .insert_at_middle (0 ,4545 )
183
+ c2 .removing_an_element_at_middle (0 )
184
+ c2 .print_cll ()
185
+
171
186
if __name__ == "__main__" :
172
187
main ()
0 commit comments