[英]How to sort a List of Lists of integers?
我的结构定义如下:
List<int> Column = new List<int>();
List<List<int>> Columns = new List<List<int>>();
我正在填充这样的结构:
Columns.Clear();
for (int x=0;...
{
Column.Clear();
Column.Add(0); // amount of adjustment for this list
Column.Add(x);
for (int y=0;...
...
Column.Add(data);
Column[0] += dataAdjustment; // keep running total of adjustment
}
Columns.Add(Column);
}
然后,我试图像这样获取数据:
Columns.Sort((r1, r2) => r1[0].CompareTo(r2[0]));
Column = Columns[0];
我只希望调整量最少的列。
我的问题是,最后,Column总是将最后一列添加到列列表中,而不是调整量最少的列。
我究竟做错了什么? 如何获得调整总运行次数最少的列表?
我究竟做错了什么?
您for
循环的每次迭代重用(并覆盖)相同的Column
。 您需要分配一个new List<int>();
对于每个新列,因此而不是:
for (int x=0;...
{
Column.Clear();
做:
for (int x=0;...
{
List<int> Column = new List<int>();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.