import time import sys def radixSort(l,r=8,k=0): global comp if k==0: k=2**r mask = int('1'*r,2) for i in range(0,32/r): counter = [0]*k for x in l: counter[(x>>(i*r))&mask]+=1 comp=comp+1 for j in range(1,k): counter[j]=counter[j-1]+counter[j] for x in reversed(l[:]): l[counter[(x>>(i*r))&mask]-1]=x comp=comp+1 counter[(x>>(i*r))&mask]-=1 return l f=open('in10_8.txt','r') z=f.readline() a1=z.split(", ") z1=f.readline() a2=z1.split(", ") z2=f.readline() a3=z2.split(", ") z3=f.readline() a4=z3.split(", ") z4=f.readline() a5=z4.split(", ") for i in range(0,len(a1)): a1[i]=int(a1[i]) for i in range(0,len(a2)): a2[i]=int(a1[i]) for i in range(0,len(a3)): a3[i]=int(a1[i]) for i in range(0,len(a4)): a4[i]=int(a1[i]) for i in range(0,len(a5)): a5[i]=int(a1[i]) t1=time.clock() comp=0 f1=open('out_8_10_8.txt','w') f1.write(str(radixSort(a1))) f1.write("\nSET COMPLETE \n") f1.write(str(radixSort(a1))) f1.write("\nSET COMPLETE \n") f1.write(str(radixSort(a1))) f1.write("\nSET COMPLETE \n") f1.write(str(radixSort(a1))) f1.write("\nSET COMPLETE \n") f1.write(str(radixSort(a1))) f1.write("\nSET COMPLETE \n") f.close() t2=time.clock() t=t2-t1 mem=sys.getsizeof(a1)+sys.getsizeof(a2)+sys.getsizeof(a3)+sys.getsizeof(a4)+sys.getsizeof(a5)+sys.getsizeof(comp) f1.write("no. of swaps=0\nno.of comparisons=%d\n"%(comp)) f1.write("time taken=%f\nmemory used=%dbytes"%(t,mem)) f1.close()