C#写二维数组排序算法

lina181 2016-06-27 04:12:27
RT,现在我是一个len行2列的数组,希望按照第一列的值进行排序(降序),当然第二列也跟着一起,然后想要输出第二列的前十条。求一个具体代码
...全文
164 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
int[,] arr = new int[5, 2];
List<int[]> list = new List<int[]>();
for (var i = 0; i < arr.Length; i+=2)
{
    list.Add(new int[] { arr[i / 2, 0], arr[i / 2, 1] });
}
然后接2L代码 当然如果没特殊需求的话直接list.OrderBy(a=>a[0]).Select(a=>a[1]).Take(10)就可以取到你要的前10列了
巴士上的邂逅 2016-06-27
  • 打赏
  • 举报
回复
可以参考一下:
private byte[] GetValues()
        {
            List<byte[]> bb = new List<byte[]>() { new byte[] { 3, 0 }, new byte[] { 0, 3 }, new byte[] { 1, 2 }, new byte[] { 2, 1 } };
            bb.Sort(new BytesComparer());
            return bb.Select(i => i[1]).ToArray();
        }
class BytesComparer : IComparer<byte[]>
        {
            public int Compare(byte[] x, byte[] y)
            {
                return x[0].CompareTo(y[0]);
            }
        }
  • 打赏
  • 举报
回复
写循环吧,最简单最笨的方法 要是交错数组就可以用linq了

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧