September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,18 +1,18 @@
|
|||
class Array {
|
||||
method radix_sort(base=10) {
|
||||
var arr = self.clone;
|
||||
var rounds = ([arr.minmax].map{.abs}.max -> log(base).floor + 1);
|
||||
for i in ^rounds {
|
||||
var buckets = (2*base -> of {[]});
|
||||
var base_i = base**i;
|
||||
var arr = self.clone
|
||||
var rounds = ([arr.minmax].map{.abs}.max.ilog(base) + 1)
|
||||
for i in (0..rounds) {
|
||||
var buckets = (2*base -> of {[]})
|
||||
var base_i = base**i
|
||||
for n in arr {
|
||||
var digit = (n/base_i % base);
|
||||
digit += base if (0 <= n);
|
||||
buckets[digit].append(n);
|
||||
var digit = (n/base_i % base)
|
||||
digit += base if (0 <= n)
|
||||
buckets[digit].append(n)
|
||||
}
|
||||
arr = buckets.flatten;
|
||||
arr = buckets.flat
|
||||
}
|
||||
return arr;
|
||||
return arr
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -22,5 +22,5 @@ for arr in [
|
|||
[170, 45, 75, 90, 2, 24, -802, -66],
|
||||
[100000, -10000, 400, 23, 10000],
|
||||
] {
|
||||
say arr.radix_sort;
|
||||
say arr.radix_sort
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue