#coding=utf-8
import math
import random
def swap(A,i,j):
r=A[i]
A[i]=A[j]
A[j]=r
def getRandomList(n):
i=0
lists=[]
while i<n:
lists.append(random.randint(1,5))
i+=1
return lists
def x(num):
lists=[]
for i in range(num):
lists.append([])
return lists
def countSort(A,B,k):
C=[]
for i in list(range(k)):
C.append(0)
for j in list(range(len(A))):
C[A[j]]=C[A[j]]+1
print(C)
print(k)
for i in list(range(k)):
if i==0:
pass
else:
C[i]=C[i]+C[i-1]
a=list(range(len(A)))
a.reverse()
print(C)
print("A",A)
for j in a:
B[C[A[j]]]=A[j]
C[A[j]]=C[A[j]]-1
A=getRandomList(10)
#A=[1,2,3,4,7,8,9,10,14,16]
random.shuffle(A)
print(A)
B=x(len(A)+1)
countSort(A,B,max(A)+1)
print(B) #排序的结果排到了B里
import math
import random
def swap(A,i,j):
r=A[i]
A[i]=A[j]
A[j]=r
def getRandomList(n):
i=0
lists=[]
while i<n:
lists.append(random.randint(1,5))
i+=1
return lists
def x(num):
lists=[]
for i in range(num):
lists.append([])
return lists
def countSort(A,B,k):
C=[]
for i in list(range(k)):
C.append(0)
for j in list(range(len(A))):
C[A[j]]=C[A[j]]+1
print(C)
print(k)
for i in list(range(k)):
if i==0:
pass
else:
C[i]=C[i]+C[i-1]
a=list(range(len(A)))
a.reverse()
print(C)
print("A",A)
for j in a:
B[C[A[j]]]=A[j]
C[A[j]]=C[A[j]]-1
A=getRandomList(10)
#A=[1,2,3,4,7,8,9,10,14,16]
random.shuffle(A)
print(A)
B=x(len(A)+1)
countSort(A,B,max(A)+1)
print(B) #排序的结果排到了B里