## -------- Program for Deletion in Link List --------------- from time import clock import sys ## Creating Initial Node class create_node: def __init__(this,num): this.num=num this.prev=None this.next=None class linked_list: def __init__(this): this.head=None this.tail=None def insert(this,num): ## Inserting Data to Link List if this.head==None: this.head=this.tail=create_node(num) else: this.tail.next=create_node(num) this.tail=this.tail.next this.tail.next=this.head this.head.prev=this.tail def delete(this,num): ## Deleting Elements Taking All the Conditions node=this.head p1=node p2=node.prev while node: if(num==node.num): if(node==this.head): this.head=this.head.next p2.next=p1.next p1.next.prev=p2 node=this.head p1=node p2=node.prev continue elif(node==this.tail): this.tail=p2 p2.next=p1.next p1.next.prev=p2 node=this.head p1=node p2=node.prev continue else: p2.next=p1.next p1.next.prev=p2 p2=node node=node.next p1=node continue else: p2=node node=node.next p1=node if(node==this.head): break def print_list(this): node=this.head global count count = 0 while node: if node == this.tail: f1.write(str(node.num)+"\n") else: f1.write(str(node.num)+",") count+=1 if node==this.tail: break node=node.next f=open("in9_3.txt","r") f1=open("out_r3_9_3.txt","w") 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()