我有一个问题,我在互联网上发现,但它没有最好的解决方案。我的问题是我有一个2D矩阵,我想在第i个位置删除一列。矩阵的例子可以表示为A [2] [3] = {1,2,3,4,5,6}。我想删除位置2处的列。因此输出为B = {1,3,4,6}。你能帮帮我吗?
A=[1 2 3
4 5 6]
输出
B=[1 3
4 6]
功能是
int** delete_column(int** inputMatrix,int position)
{
//The size of outMatrix must be smaller than inputMatrix
return outMatrix;
}
答案 0 :(得分:0)
你不能在c ++中使用静态数组就地执行此操作。您需要创建另一个数组并在那里复制数据。但是,如果使用指向动态数组的指针数组,则可以就地移动元素,而不是调用realloc
来缩小数组。你也可以使用向量向量并调用它们。