连接正向和反向向量

时间:2015-05-05 11:24:19

标签: c++ vector

我正在寻找推荐的方法,在C ++中,创建一个新的std::vector,其中向量的前半部分是另一个向量的内容,而后半部分是另一个向量的反向内容。用脚本语言(如Matlab)做类似的事情。 。

A = [2; 4; 6; 8;];
B = [A; flipud(A)];

使用循环在C ++中很容易做到这一点,但我想知道是否有一种更简洁的方式使用insert和可能是反向itterator?

1 个答案:

答案 0 :(得分:3)

当然,您可以使用insertreverse_iterator s:

auto B = A;
B.insert(B.end(), A.rbegin(), A.rend());

当然,您也可以在第一次作业之前保留空格,只需要一次分配。但我认为这个想法很清楚。