gpt4 book ai didi

c++ - 如何删除二维 vector 中的列,C++

转载 作者:太空狗 更新时间:2023-10-29 20:24:38 25 4
gpt4 key购买 nike

如果我在创建矩阵的 vector 中有一个 vector ,我该如何删除该矩阵中的特定列。我已经填充了二维 vector ,现在我需要一种方法来删除该 vector 中的特定列,

例如我的 vector 看起来像:

vector<vector<float> > vec;

仅供引用,我知道如何删除 vector 中的行,如下所示:

vec.erase(vec.begin()+row);

//那么删除vector的vector中特定列的算法或代码是什么

例如如果我有

V11, V12, V13
V21, V22, V23
V31, V32, V33

然后我想删除一个特定的列,例如第 1 列,它将删除 V12、V22、V32 并缩小如下:

V11, V13
V21, V23
V31, V33

感谢您查看此问题。

最佳答案

您需要遍历所有行,并删除每一行中该列中的元素。

int columnIndex = 1;
std::for_each(vec.begin(), vec.end(),
[&](std::vector<float>& row) {
row.erase(std::next(row.begin(), columnIndex));
});

Live demo

关于c++ - 如何删除二维 vector 中的列,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27264953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com