Power set: Difference between revisions
→{{header|Go}}: Improved set type. Could be considered a bug fix. Set equality code was requiring sets to be in the same order. New code follows conventional meaning of set as an unordered collection.
(→Non-recursive version: improved the descriptions of my algorithm) |
(→{{header|Go}}: Improved set type. Could be considered a bug fix. Set equality code was requiring sets to be in the same order. New code follows conventional meaning of set as an unordered collection.) |
||
Line 792:
// uniqueness of elements can be ensured by using add method
func (s *set)
if !s.hasEle(e) {
*s = append(*s, e)▼
}
}
func (s *set) hasEle(e element) bool {
for _, ex := range *s {
if e.eq(ex) {
return true
}
}
return false
▲ *s = append(*s, e)
}
Line 810 ⟶ 816:
return false
}
for _, se := range s {
return false
}
Line 849 ⟶ 851:
func main() {
var s set
for _, i := range []
s.
}
fmt.Println(s)
Line 858 ⟶ 860:
fmt.Println("length =", len(ps))
}</lang>
{{out}}
<pre>
{1 2 3 4}
|