簡體   English   中英

如何刪除2d向量中的列,c ++

[英]How to delete column in 2d vector, c++

如果我在矢量中創建了一個矩陣,我該如何刪除該矩陣中的特定列。 我已經填充了2d向量現在我需要一種方法來刪除該向量中的特定列,

例如我的矢量看起來像:

vector<vector<float> > vec;

只是為了知識,我知道如何擦除向量中的行,如下所示:

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

// so什么是刪除向量向量中特定列的算法或代碼

例如,如果我有

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));
    });

現場演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM