博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[日常] Go语言圣经-指针对象的方法-bit数组习题2
阅读量:6919 次
发布时间:2019-06-27

本文共 1896 字,大约阅读时间需要 6 分钟。

练习 6.3: (*IntSet).UnionWith会用|操作符计算两个集合的交集,我们再为IntSet实现另外的几个函数IntersectWith(交集:元素在A集合B集合均出现),DifferenceWith(差集:元素出现在A集合,未出现在B集合),SymmetricDifference(并差集:元素出现在A但没有出现在B,或者出现在B没有出现在A)。

*练习6.4: 实现一个Elems方法,返回集合中的所有元素,用于做一些range之类的遍历操作。

练习 6.2: 定义一个变参方法(*IntSet).AddAll(...int),这个方法可以添加一组IntSet,比如s.AddAll(1,2,3)。

/*练习 6.3: (*IntSet).UnionWith会用|操作符计算两个集合的交集,我们再为IntSet实现另外的几个函数IntersectWith(交集:元素在A集合B集合均出现),DifferenceWith(差集:元素出现在A集合,未出现在B集合),SymmetricDifference(并差集:元素出现在A但没有出现在B,或者出现在B没有出现在A)。*///交集:元素在A集合B集合均出现func (s *IntSet) IntersectWith(t *IntSet) IntSet {        var result IntSet        for i, word := range s.words {                if i >= len(t.words) {                        break                }                   result.words = append(result.words, word&t.words[i])        }           return result}//差集:元素出现在A集合,未出现在B集合func (s *IntSet) DifferenceWith(t *IntSet) IntSet {        var result IntSet        for i, word := range s.words {                if i >= len(t.words) {                        result.words = append(result.words, word)                        continue                }                   result.words = append(result.words, word&(word^t.words[i]))        }           return result}//并差集:元素出现在A但没有出现在B,或者出现在B没有出现在Afunc (s *IntSet) SymmetricDifference(t *IntSet) IntSet {        var result IntSet        for i, word := range s.words {                if i >= len(t.words) {                        result.words = append(result.words, word)                        continue                }                   result.words = append(result.words, word^t.words[i])        }           return result}//练习6.4: 实现一个Elems方法,返回集合中的所有元素,用于做一些range之类的遍历操作。func (s *IntSet) Elems() []int {        var result []int        for i, word := range s.words {                for j := 0; j < 64; j++ {                        if word&(1<

  

转载于:https://www.cnblogs.com/taoshihan/p/8900467.html

你可能感兴趣的文章
“效果系列一”:jQuery 手风琴效果
查看>>
java相对路径获取(读取)文件
查看>>
VS上写helloworld
查看>>
反射机制——获取Class对象的三种方式
查看>>
react-native 初始化指定版本
查看>>
怎样看服务器负载状况好坏
查看>>
NSCopying
查看>>
总结&终结帖:博客迁移到poos.github.io
查看>>
使用 Postman 与 Kotlin 交互REST API接口数据
查看>>
OCMock学习笔记
查看>>
解决win7/win8 winsxs目录不断变大的问题
查看>>
windows 20008DHCP中继
查看>>
docker 容器网络篇
查看>>
DAY 19
查看>>
AD在windows2003中的更新
查看>>
Windows PowerShell 配置文件
查看>>
javap命令详解
查看>>
ELK之logstash长久运行
查看>>
vSphere Web Client连接vCenter提示flash崩溃
查看>>
kft-activiti-demo
查看>>