Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
33 lines (29 loc) · 913 Bytes

File metadata and controls

33 lines (29 loc) · 913 Bytes
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
'''
实现基数排序RadixSort, 分为:
最高位优先(Most Significant Digit first)法
最低位优先(Least Significant Digit first)法
'''
# 最低位优先法
def radixSortLSD(alist):
if len(alist) == 0:
return
if len(alist) == 1:
return alist
tempList = alist
maxNum = max(alist)
radix = 10
while maxNum * 10 > radix:
newArr = [[], [], [], [], [], [], [], [], [], []]
for n1 in tempList:
testnum = n1 % radix
testnum = testnum // (radix / 10)
for n2 in range(10):
if testnum == n2:
newArr[n2].append(n1)
tempList = []
for i in range(len(newArr)):
for j in range(len(newArr[i])):
tempList.append(newArr[i][j])
radix *= 10
return tempList
print(radixSortLSD([10, 12, 24, 23, 13, 52, 15, 158, 74, 32, 254, 201, 30, 19]))
Morty Proxy This is a proxified and sanitized view of the page, visit original site.