from time import clock import sys f=open('in16_3.txt','r') of=open('out_23_16_3.txt','w') begin=clock() n=f.readline() n=int(n) f.close() class create_node: def __init__(self,num,num1): self.num=num self.num1=num1 self.next=None class linked_list: def __init__(self): self.head=None self.tail=None def insert(self,num,num1): if self.head==None: self.head=self.tail=create_node(num,num1) else: self.tail.next=create_node(num,num1) self.tail=self.tail.next self.tail.next=self.head.next.next def print_list(self,head,tail): node=self.head while node.num==1: global comp comp+=1 ##print node.num1 node.num=0 node=node.next if(node.num==0): of.write(str('0')+" Position at : "+str(node.num1)) else: of.write(str('1')) def write_head_tail(self): f=open('in_sec16_3.txt','w') f.write(str(self.head)+','+str(self.tail)) f.close() l1=linked_list() comp=0 for i in range(1,n+1): l1.insert(1,i) l1.write_head_tail() f=open('in_sec16_3.txt','r') head,tail=f.readline().split(',') f.close() l1.print_list(head,tail) of.write("\n"+"\n"+"number of comparisons,="+str(comp)) of.write("\n"+"time taken="+str(clock()-begin)) of.write("\n"+"memory used="+str(sys.getsizeof(f)+sys.getsizeof(of)+sys.getsizeof(head)+sys.getsizeof(tail))) f=open('in_sec16_3.txt','w') f.write(str(n)) f.close() of.close()