import random
# 设置data范围
def i_d(data, size):
for i in range(size):
data[i] = random.randint(0, 999)
# 打印数据
def o_d(data, size):
for i in range(size):
print('%5d' % data[i], end='')
def radix(data, size):
n = 1
while n <= 100:
tmp = [[0] * 100 for i in range(10)]
for i in range(size):
m = (data[i] // n) % 10
tmp[m][i] = data[i]
k = 0
for i in range(10):
for j in range(size):
if tmp[i][j] != 0:
data[k] = tmp[i][j]
k += 1
print('\n%3d位数' % n, end='')
o_d(data, size)
n *= 10
def main():
data = [0] * 100
size = int(input('请输入数据'))
print('\n原始数据')
i_d(data, size)
o_d(data, size)
radix(data, size)
main()
python基数排序
最新推荐文章于 2023-08-30 10:22:39 发布