Foxtable(狐表)用户栏目专家坐堂 → 集合获取最大值的问题


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

主题:集合获取最大值的问题

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
集合获取最大值的问题  发帖心情 Post By:2021/9/14 14:13:00 [只看该作者]

Dim s As Integer

Dim a As New List(of Integer)

a .Add(108)

a .Add(95)

a .Add(70)

a .Add(100)

a .Add(1081)

a .Add(905)

a .Add(700)

a .Add(1000)

a.Sort

s =a(a.count-1)

Output.Show(s)

 

上面的代码可以获取集合中的最大值,哪位老师指导一下有没有方法完成这样的需求:集合中的值每三个一组分别获取最大值,然后添加到一个新集合里。就是

108,95,70,获取108,

100,1081,905获取1081,

700,1000获取1000,

然后把获取的各个组的最大值添加到一个新集合中,哪位老师指导一下,怎么解决???

还有个问题就是集合排序a.Sort后,还能撤销排序再变回排序前的顺序吗?


[此贴子已经被作者于2021/9/14 14:16:27编辑过]

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


加好友 发短信
等级:超级版主 帖子:109681 积分:558103 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/14 14:33:00 [只看该作者]

Dim a As New List(of Integer)
a .Add(108)
a .Add(95)
a .Add(70)
a .Add(100)
a .Add(1081)
a .Add(905)
a .Add(700)
a .Add(1000)
Dim b As New List(of Integer)

For i As Integer = 0 To a.Count - 1 Step 3
    If i + 2 <= a.Count - 1
        b.Add(Math.Max(Math.Max(a(i),a(i+1)),a(i+2)))
    ElseIf i + 1 <= a.Count - 1
        b.Add(Math.Max(a(i),a(i+1)))
    Else
        b.Add(a(i))
    End If
Next
For Each m As Integer In b
    Output.Show(m)
Next

至于撤销排序是不能的,另外建一个集合重新添加原来的元素即可

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2021/9/14 14:33:00 [只看该作者]

谢谢老师指导

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


加好友 发短信
等级:八尾狐 帖子:1820 积分:19420 威望:0 精华:0 注册:2013/4/10 14:38:00
  发帖心情 Post By:2021/9/14 15:13:00 [只看该作者]

Dim a As New List(of Integer)
a .Add(108)
a .Add(95)
a .Add(70)
a .Add(100)
a .Add(1081)
a .Add(905)
a .Add(700)
a .Add(1000)
Dim maxnum As Integer
maxnum = a.Max()
output.show(maxnum)

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




 回到顶部