import sys import random from time import clock def stac(stack,index): insertion_nos=[] temp=[] qStack=[] istack=stack memory=0 ## print "Initial Stack is \n ",istack ## 1 to 100 random no generation for a in range(0,50): insertion_nos.append(random.randint(1,100)) ## Insertion to Stack count=0 for i in range(0,len(index)): if count<50 : stack.insert(int(index[i]),str(insertion_nos[int(i)])) count+=1 qStack=stack ## print "----------------------\n Stack After Insertion",qStack ## Deletion in Stack for j in range(0,len(index)): del(stack[int(index[j])]) ## print "----------------------\n Stack After Insertion of 0 at index position",stack memory=memory+sys.getsizeof(stack)+sys.getsizeof(index)+sys.getsizeof(insertion_nos) return stack,qStack,istack,memory ## Start InFile=open("in8_5.txt","r") temp1=InFile.readline().split(",") temp2=InFile.readline().split(",") InFile.close() stack1,index1=[],[] for i in temp1: stack1.append(int(i)) for j in temp2: index1.append(int(j)) start=clock() prev_stack,ins_stack,del_stack,memory_used=stac(stack1,index1) time_taken=clock()-start OutFile=open("out_5_8_5.txt","w") OutFile.write(str(prev_stack)) OutFile.write("\n\nSize of Stack:"+str(len(prev_stack))) OutFile.write("\nMemory Used:"+str(memory_used)) OutFile.write("\nExecution Time:"+str(time_taken)) OutFile.close()