我需要通过每次跳过一个元素来重新排序数组,首先将均匀索引的元素升序,然后以降序排列奇怪索引的元素。C#按索引重新排列数组,甚至按奇数递减
例如,假设我有double
的数组被命令这样的:
[0,0.3,0.7,1.1,1.5,1.9,2.3,2.7,3.1,3.5,3.9]
我想有它命令是这样的:
[0,0.7,1.5,2.3,3.1,3.9,3.5,2.7,1.9,1.1,0.3]
正如你所看到的,我对这些值的排序不感兴趣,而只是元素的索引。我找不到Array.Sort或IEnumerable的重载> .OrderBy,它提供了索引,所以我似乎无法使用它。
我感到有些惭愧地问这个简单的问题,但我无法弄清楚如何做到这一点。我当然可以用foreach循环来处理索引,但是我正在“翻译”一些Matlab代码,而这个特殊的部分是用这个优雅的(虽然很复杂,但如果你不习惯那种的东西)一个衬里:
y = y([1:2:n 2 * floor(n/2):-2:2],:); % n being the number of elements in the array y
是的,我是一个白痴:)我肯定想太多了,尝试与GroupBy和ST UFF。好的解决方案 – Gimly