class create_node(object): def __init__(self,num): self.num=num self.next=None class lnode: def __init__(self): self.head=self.last=None def list(self): pointer=0 ofile=open('out_21_9_1.txt','w') while self.head.next is not None: ofile.write(str(self.head.num)+",") pointer+=1 self.head=self.head.next ofile.write(str(self.head.num)) pointer+=1 ofile.close() return pointer def makelist(self,num): if self.head is not None: self.last.next=create_node(num) self.last=self.last.next else: self.head=self.last=create_node(num) def insertion(self,num,pos): self.previous=self.head if pos==1 : self.last=create_node(num) self.last.next=self.previous self.head=self.last else: count=1 while count != pos-1 : self.previous=self.previous.next count+=1 self.last=create_node(num) self.last.next=self.previous.next self.previous.next=self.last from time import clock import sys ofile=open('out_21_9_1.txt','a') ifile=open('in9_1.txt','r') begin=clock() x,y=ifile.readline().split(",") objec=lnode() ln=ifile.readline().split(",") lp=ifile.readline().split(",") for num in ln: objec.makelist(int(num)) for i in range(1,int(x)+1): p=int(lp[i-1]) objec.insertion(i,p) size=objec.list() ofile.write("\n time taken : "+str(clock()-begin)) ofile.write("\n array size="+str(size)) ofile.write("\nmemory used = "+str( sys.getsizeof(ifile) + sys.getsizeof(ofile)+ sys.getsizeof(begin)+ sys.getsizeof(ln)+ sys.getsizeof(lp)+sys.getsizeof(size) +sys.getsizeof(x)+ sys.getsizeof(y)+sys.getsizeof(objec))) ifile.close() ofile.close()