繁体   English   中英

如何对整数列表进行排序?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM