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 に答える