length在大部分語言里是最大的數(shù)字下標(biāo)+1
完整的計(jì)數(shù)排序
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
桶排序
桶排序是計(jì)數(shù)排序的升級(jí)版
排序矾缓,要么浪費(fèi)時(shí)間孽查,要么浪費(fèi)空間
桶排序里可以進(jìn)行二次排序
基數(shù)排序
基數(shù)排序適合萬位數(shù)以下进胯,適應(yīng)與大基數(shù)的排序
基數(shù)排序就是10進(jìn)制排序
出桶和入桶順序順序
先按照個(gè)位數(shù)進(jìn)行排序
十位數(shù)入桶
按照十位數(shù)進(jìn)行排序
百位數(shù)入桶
按照百位數(shù)進(jìn)行排序
千位數(shù)入桶
按照千位數(shù)進(jìn)行排序
萬位數(shù)入桶
按照萬位數(shù)進(jìn)行排序