Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
18
Task/Set-consolidation/Tcl/set-consolidation-1.tcl
Normal file
18
Task/Set-consolidation/Tcl/set-consolidation-1.tcl
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
package require struct::set
|
||||
|
||||
proc consolidate {sets} {
|
||||
if {[llength $sets] < 2} {
|
||||
return $sets
|
||||
}
|
||||
|
||||
set r [list {}]
|
||||
set r0 [lindex $sets 0]
|
||||
foreach x [consolidate [lrange $sets 1 end]] {
|
||||
if {[struct::set size [struct::set intersect $x $r0]]} {
|
||||
struct::set add r0 $x
|
||||
} else {
|
||||
lappend r $x
|
||||
}
|
||||
}
|
||||
return [lset r 0 $r0]
|
||||
}
|
||||
4
Task/Set-consolidation/Tcl/set-consolidation-2.tcl
Normal file
4
Task/Set-consolidation/Tcl/set-consolidation-2.tcl
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
puts 1:[consolidate {{A B} {C D}}]
|
||||
puts 2:[consolidate {{A B} {B D}}]
|
||||
puts 3:[consolidate {{A B} {C D} {D B}}]
|
||||
puts 4:[consolidate {{H I K} {A B} {C D} {D B} {F G H}}]
|
||||
Loading…
Add table
Add a link
Reference in a new issue