gpt4 book ai didi

c# - 在 C# 中按第一个元素的升序对二维数组行进行排序

转载 作者:行者123 更新时间:2023-11-30 13:36:26 25 4
gpt4 key购买 nike

我需要按照第一个元素的升序对 2d 数组行进行排序,就像示例中一样

{{5,7,6},{2,9,6},{4,8,1}} --> {{2,9,6},{4,8,1},{5,7,6}}

我可以找到行中的最大元素,但我现在不知道如何对行进行排序。

public double[] maxInRow(double[,] n) 
{
double[] result = new double[n.GetLength(0)];
for (int i = 0; i < n.GetLength(0); i++)
{
double max = 0;
for (int j = 0; j < n.GetLength(1); j++)
{
if (max < n[i,j])
{
max = n[i,j];
}
}
result[i] = max;
}
return result;
}

你能给些建议吗?

提前致谢!

最佳答案

遗憾的是,使用该语法,您失去了 linq 的强大功能,它是 .Net framework 的最佳组件之一,您可以试试这个

double[][] x = new double[2][];
x[0] = new double[] { 5, 2, 5 };
x[1] = new double[] { 6, 8, 3 };
x[2] = new double[] { 8, 3, 6 };

var sortedByFisrtVal = x.OrderBy(y => y[0]);
var sortedBySecondVal = x.OrderBy(y => y[1]);

//trying to guess maybe this is better
var sorted = x.OrderBy(y => y[0]).ThenBy(y => y[1]).ThenBy(y => y[2]);

关于c# - 在 C# 中按第一个元素的升序对二维数组行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33741875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com