File tree 1 file changed +20
-22
lines changed
1 file changed +20
-22
lines changed Original file line number Diff line number Diff line change 1
1
def radixsort (lst ):
2
- RADIX = 10
3
- maxLength = False
4
- tmp , placement = - 1 , 1
2
+ RADIX = 10
3
+ placement = 1
5
4
6
- while not maxLength :
7
- maxLength = True
8
- # declare and initialize buckets
9
- buckets = [list () for _ in range ( RADIX )]
5
+ # get the maximum number
6
+ max_digit = max (lst )
10
7
11
- # split lst between lists
12
- for i in lst :
13
- tmp = int ((i / placement ) % RADIX )
14
- buckets [tmp ].append (i )
8
+ while placement < max_digit :
9
+ # declare and initialize buckets
10
+ buckets = [list () for _ in range ( RADIX )]
15
11
16
- if maxLength and tmp > 0 :
17
- maxLength = False
12
+ # split lst between lists
13
+ for i in lst :
14
+ tmp = int ((i / placement ) % RADIX )
15
+ buckets [tmp ].append (i )
18
16
19
- # empty lists into lst array
20
- a = 0
21
- for b in range ( RADIX ):
22
- buck = buckets [b ]
23
- for i in buck :
24
- lst [a ] = i
25
- a += 1
17
+ # empty lists into lst array
18
+ a = 0
19
+ for b in range ( RADIX ):
20
+ buck = buckets [b ]
21
+ for i in buck :
22
+ lst [a ] = i
23
+ a += 1
26
24
27
- # move to next
28
- placement *= RADIX
25
+ # move to next
26
+ placement *= RADIX
You can’t perform that action at this time.
0 commit comments