我有一个二维数组,仅包含 0 或 1。我想使用 STL 排序算法按行的降序对它进行排序(每列没有变化)。但我不知道如何传递参数以及如何在 sort(first, last, comp); 中编写比较函数;喜欢:
0 1 1 1
1 1 0 1
1 0 1 0
将像这样排序:
1 1 0 1
1 0 1 0
0 1 1 1
我的数据结构是这样的:
int **table = 0;
table = new int *[row];
for(int i=0;i<row;i++)
table[i] = new int[column];
我只能这样写排序函数:
sort(a[0], a[0]+row, compare_function);
bool compare_function(int a[], int b[])
{
int i =0;
while(a[i]==0 ||a[i]==1)
{
if(a[i]>b[i])
return true;
else
i++;
}
return false;
}
但它不起作用。有人能帮我吗?非常感谢。