我有一个50行和2列的矩阵,我想根据对第二列的值的值进行比较来对它们进行排序。这里是我的意思是,如果我的矩阵:基于列比较的排序矩阵
[00][01]
[10][11]
[20][21]
[30][31]
[40][41]
[50][51]
我想比较[01]和[11]与[01]较少比[11]我想从第一行更换整个第二行,是这样的(例如):
[10][11]
[00][01]
[20][21]
[30][31]
[40][41]
[50][51]
我尝试使用C#和用这种算法来了,但它没有工作:
int temp1, temp2;
for (int i = 0; i < 50; i++)
{
for (int j = i + 1; j < 2; j++)
{
if (rating[i, j] < rating[i + 1, j])
{
temp1 = rating[i + 1, j - 1];
temp2 = rating[i + 1, j];
rating[i + 1, j - 1] = rating[i, j - 1];
rating[i + 1, j] = rating[i, j];
rating[i, j - 1] = temp1;
rating[i, j] = temp2;
}
}
}
有人能告诉我一个关键的锻炼这问题,或者如果你有在C,C++或其他LAN的答案guage请与我们分享。
谢谢。
部分它确实工作。看到图片: http://im41.gulfup.com/TrGUn.bmp 在那里我指着红色的第二列有5号应该是最高值。应该是这样的: 。5 。5 。5 。5 。4 .. 4 。4 ..........等等。 –
我编辑了代码中的一个小错误。 –
完整的代码是如此冗长和复杂,只有这个需求才能完成实现。 –