from time import clock import sys class create_node: def __init__(self,num): self.num=num self.previous=None self.next=None class linked_list: def __init__(self): self.head=None self.tail=None def insert(self,num): if self.head==None: self.head=self.tail=create_node(num) else: self.tail.next=create_node(num) self.tail=self.tail.next self.tail.next=self.head self.head.previous=self.tail def delete(self,num): node=self.head p1=node p2=node.previous while node: if(num==node.num): if(node==self.head): self.head=self.head.next p2.next=p1.next p1.next.previous=p2 node=self.head p1=node p2=node.previous continue elif(node==self.tail): self.tail=p2 p2.next=p1.next p1.next.previous=p2 node=self.head p1=node p2=node.previous continue else: p2.next=p1.next p1.next.previous=p2 p2=node node=node.next p1=node continue else: p2=node node=node.next p1=node if(node==self.head): break def print_list(self): node=self.head global count count = 0 while node: if node == self.tail: f1.write(str(node.num)+"\n") else: f1.write(str(node.num)+",") count+=1 if node==self.tail: break node=node.next f=open("in9_7.txt","r") f1=open("out_7_9_7.txt","w") f.readline() temp=f.readline().split(",") count=0 memory=0 start=clock() l1=linked_list() for i in temp: l1.insert(i) temp1=f.readline().split(",") for j in temp1: l1.delete(j) l1.print_list() end = clock()-start memory=sys.getsizeof(l1)+sys.getsizeof(count)+sys.getsizeof(start)+sys.getsizeof(temp)+sys.getsizeof(temp1)+sys.getsizeof(end) f1.write("No of nodes are "+str(count)+"\n") f1.write("Time taken is "+str(end)+"\n") f1.write("Memory used is "+str(memory)+ " Bytes") f.close() f1.close()