首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以对整数数组进行排序,用不同的项按顺序排序吗?

我可以对整数数组进行排序,用不同的项按顺序排序吗?
EN

Stack Overflow用户
提问于 2015-12-08 21:02:14
回答 1查看 61关注 0票数 1

我有一个整数数组

代码语言:javascript
运行
复制
Dim intArray() as integer = {1, 1, 5, 9, 9, 10, 15, 15, 23, 25}

我想用这个数组的不同值来排序

1-1,9-5,10-9,15-15,25-23 = {0,4,1,0,2}

重新排序,上升:{0,0,1,2,4}

我想要这个结果

代码语言:javascript
运行
复制
intArray = {1, 1, 15, 15, 9, 10, 23, 25, 5, 9}

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-08 21:26:03

下面是如何使用LINQ实现这一目的:

代码语言:javascript
运行
复制
Dim result = intArray _
            .Select(Function(x, i) New With {.Value = x, .Index = i}) _
            .GroupBy(Function(x) x.Index \ 2) _
            .Select(Function(x) x.Select(Function(y) y.Value).ToList()) _
            .OrderBy(Function(x) x(1) - x(0)) _
            .SelectMany(Function(x) x) _
            .ToArray()

这段代码首先选择每个元素的值和索引(因为我们需要索引将每个元素组合在一起),然后它将每两个元素组合在一起,并将它们放入自己的列表中(就像我们有一个大小列表--两个列表)。然后,根据第二个和第一个值之间的差异对这些列表进行排序。然后,它为列表列表重新创建一个列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34165952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档