4

我正在尝试将一个新项目放入向量中,并转移剩余的项目。我怎样才能做到这一点 ?

前任

vector -------------------------------------------------------
       | 1 | 2 | 3 | 4 | 5 | 9 | 10 | 15 | 21 | 34 | 56 | 99 |
       -------------------------------------------------------
                                      ^
new item = 14, it should be added to  ^

After insertion, 


vector ------------------------------------------------------------
       | 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 21 | 34 | 56 | 99 |
       ------------------------------------------------------------
                                         ^                         ^
                                         ^-shifted to right by one-^
4

3 回答 3

7

检查vector::insert()函数。

vector<int> vec ;

// Add elements to vec
vec.insert(vec.begin() + position, new_item);
于 2012-05-04T05:53:06.927 回答
1

使用insert.

vector<int> v {1,2,3,5};
v.insert (v.begin() + 3, 4); //v is now {1,2,3,4,5}

您还可以插入一系列元素和其他很酷的东西,类似于向量构造函数。

于 2012-05-04T05:52:26.963 回答
0

如果您不知道要插入它的确切位置,那么vec.insert()将无法正常工作。

vec.push_back(15);
std::sort(vec.begin(), vec.end());
于 2012-05-04T06:30:14.747 回答