Foxtable(狐表)用户栏目专家坐堂 → 请教一函数


  共有1573人关注过本帖树形打印复制链接

主题:请教一函数

帅哥哟,离线,有人找我吗?
hbhb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5054 积分:13025 威望:0 精华:0 注册:2014/5/15 21:34:00
请教一函数  发帖心情 Post By:2017/3/30 13:07:00 [只看该作者]

大师老驾指点一下,有5个甚至更多的的集合,如何求这些集合的交集?劳驾写一个函数如何?谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
wyz20130512
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1242 积分:9374 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2017/3/30 13:53:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:集合交集001.png
图片点击可在新窗口打开查看

以上仅是提供一个思路!

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/30 14:09:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5054 积分:13025 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/3/30 17:19:00 [只看该作者]

谢谢!我是问10个集合如何求出交集?如:以下字符串集合的交集为1。用代码怎么求出?
(1,2,3,4,5,6,7,8,9,0,jcjijci)
(1,21,31,41,51,61,71,81,91,01,2222)
(1,22,32,42,52,62,72,82,92,02,4444444)
(1,23,33,43,53,63,73,83,93,03)

(1,24,34,44,54,64,74,84,94,04,jkhhh)
(1,25,35,45,55,65,75,85,95,05)
(1,26,36,46,56,66,76,86,96,06)
(1,27,37,47,57,67,77,87,97,07)
(1,28,38,48,58,68,78,88,98,08)
(1,211,311,411,511,611,711,811,911,011,11111)

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/30 19:07:00 [只看该作者]

要说多少遍?两两求交集,得到的集合,再和第三个求。


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5054 积分:13025 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/3/30 20:13:00 [只看该作者]

封装成Dll,使用此类必须有.net3.5的支持

我是说不用上面的,上面要.net3.5支持,帮助用代码写一个简单通用高效的!

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/30 20:28:00 [只看该作者]

以下是引用hbhb在2017/3/30 20:13:00的发言:

封装成Dll,使用此类必须有.net3.5的支持

我是说不用上面的,上面要.net3.5支持,帮助用代码写一个简单通用高效的!

 

 

要说多少次?http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=75746&authorid=0&page=0&star=2

 


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5054 积分:13025 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/3/30 23:29:00 [只看该作者]

我的意思是写一个函数,集合的个数作为参数,这样根据输入集合的个数随意调用该函数。我是根据Args.Length判断一个一个写的。如果有100个集合怎么写?
可否用循环写?怎么写?或有其他什么办法?

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106035 积分:539268 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/31 8:45:00 [只看该作者]

先取前2个集合,求出交集为一个新的集合

循环余下的集合,逐个和新集合取交集得出新的集合,直至交集为0或者循环完毕

dim 集合1 as list
dim 集合2 as list
dim 交集 as list

for i as integer = 2 to Args.Length - 1
    dim 临时交集 = 交集与Args(i)的交集
    交集 = 临时交集
next

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/31 9:29:00 [只看该作者]

汗,自己就不能总结?

 

Dim ls1 As List(Of String) = args(0)
For i As Integer = 1 To args.length-1
    Dim Ls2 = args(i)
    Dim Ls As String
    Dim lsb As new List(Of String)
    For Each Ls In ls1
        If ls2.contains(ls) AndAlso lsb.contains(ls) = False Then
            LsB.Add(Ls)
        End If
    Next
    ls1 = lsb
Next

Return ls1

 

 

------------------------调用

 

Dim Names As New List(Of String)
Names.Add( "电视机")
Names.Add("电冰箱")
Names.Add("洗衣机")

Dim Names1 As New List(Of String)
Names1.Add( "电视机")
Names1.Add("123")
Names1.Add("洗衣机")

Dim Names2 As New List(Of String)
Names2.Add( "电视机")
Names2.Add("电冰箱")
Names2.Add("456")
Names2.Add("洗衣机")

Dim ls = Functions.Execute("交集", names, names1, names2)
msgbox(String.join(",", ls.toarray))


 回到顶部
总数 11 1 2 下一页