
length在大部分语言里是最大的数字下标+1
完整的计数排序
a <- {'0':0, '1':2,'.':56,'4':4,'5':67,'6':3,
'length':67}
hash<-{}
index <- 0
while(index < a['length'])
number = a[index]
if hash[number] == undefined //hash[number] 不存在
hash[number] = 1
else // hash[number]存在
hash[number] = hash[number] + 1
end
index <- index + 1
end
index2 <- 0
max <- findmax(a)
index2 <- 1
while index < findmax['length']
if findmax[index2] < max
max <- findmax[index2]
end
index2 <- index2 + 1
end
nawarr <- {}
while(index2 < max + 1)
count=hash[index2]
if count !=undefined
countIndex = 0
while(countIndex < count)
newArr.push(index2)
countIndex <- countIndex + 1
end
end
index2 <- index2 + 1
end
print newArr
桶排序
桶排序是计数排序的升级版
排序,要么浪费时间,要么浪费空间
桶排序里可以进行二次排序

基数排序
基数排序适合万位数以下,适应与大基数的排序
基数排序就是10进制排序
出桶和入桶顺序顺序
先按照个位数进行排序
十位数入桶
按照十位数进行排序
百位数入桶
按照百位数进行排序
千位数入桶
按照千位数进行排序
万位数入桶
按照万位数进行排序
网友评论