Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,23 @@
|
|||
package require Tcl 8.5
|
||||
|
||||
proc beadsort numList {
|
||||
# Special case: empty list is empty when sorted.
|
||||
if {![llength $numList]} return
|
||||
# Set up the abacus...
|
||||
foreach n $numList {
|
||||
for {set i 0} {$i<$n} {incr i} {
|
||||
dict incr vals $i
|
||||
}
|
||||
}
|
||||
# Make the beads fall...
|
||||
foreach n [dict values $vals] {
|
||||
for {set i 0} {$i<$n} {incr i} {
|
||||
dict incr result $i
|
||||
}
|
||||
}
|
||||
# And the result is...
|
||||
dict values $result
|
||||
}
|
||||
|
||||
# Demonstration code
|
||||
puts [beadsort {5 3 1 7 4 1 1}]
|
||||
Loading…
Add table
Add a link
Reference in a new issue