std :: vector :: insert()是C ++ STL中的内置函数,该函数在指定位置的元素之前插入新元素,从而通过插入的元素数量有效地增加了容器大小
Syntax:
vector_name.insert (position, val)
Parameter:The function accepts two parameters specified as below:
- position – It specifies the iterator which points to the position where the insertion is to be done.
- val – It specifies the value to be inserted.
Return value: The function returns an iterator which points to the newly inserted element.
Example 1:
下面的程序说明了上面提到的功能,其中新元素插入了前面。
// Program below illustrates the
// vector::insert() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// initialising the vector
vector<int> vec = { 10, 20, 30, 40 };
// inserts 3 at front
auto it = vec.insert(vec.begin(), 3);
// inserts 2 at front
vec.insert(it, 2);
int i = 2;
// inserts 7 at i-th index
it = vec.insert(vec.begin() + i, 7);
cout << "The vector elements are: ";
for (auto it = vec.begin(); it != vec.end(); ++it)
cout << *it << " ";
return 0;
}
Output:
The vector elements are: 2 3 7 10 20 30 40
Example 2:
下面的程序说明了上述功能,其中在特定位置插入了新元素。
// Program below illustrates the
// vector::insert() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// initialising the vector
vector<int> vec = { 10, 20, 70, 80 };
int x = 50;
// inserting multiple elements
// at specific positions
vec.insert(vec.begin() + 2, { 30, 40, x, 60 });
cout << "The vector elements are: ";
for (auto it : vec)
cout << it << " ";
return 0;
}
Output:
The vector elements are: 10 20 30 40 50 60 70 80
Syntax:
vector_name.insert(position, size, val)
Parameter:The function accepts three parameters specified as below:
- position – It specifies the iterator which points to the position where the insertion is to be done.
size – It specifies the number of times a val is to be inserted at the specified position.
val – It specifies the value to be inserted.
Return value: The function returns an iterator which points to the newly inserted element
// program below illustrates the
// vector::insert() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// initialising the vector
vector<int> vec = { 10, 20, 30, 40 };
// inserts 3 one time at front
auto it = vec.insert(vec.begin(), 1, 3);
// inserts 4 two times at front
vec.insert(it, 2, 4);
cout << "The vector elements are: ";
for (auto it = vec.begin(); it != vec.end(); ++it)
cout << *it << " ";
return 0;
}
Output:
The vector elements are: 4 4 3 10 20 30 40
Syntax:
vector_name.insert(position, iterator1, iterator2)
Parameter:The function accepts three parameters specified as below:
position – It specifies the position at which insertion is to be done in vector.
iterator1 – It specifies the starting position from which the elements are to be inserted
iterator2 – It specifies the ending position till which elements are to be inserted
Return value: The function returns an iterator which points to the newly inserted element.
Below is the illustration of above function:
// program below illustrates the
// vector::insert() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// initialising the vector
vector<int> vec1 = { 10, 20, 30, 40 };
vector<int> vec2;
// inserts at the beginning of vec2
vec2.insert(vec2.begin(), vec1.begin(), vec1.end());
cout << "The vector2 elements are: ";
for (auto it = vec2.begin(); it != vec2.end(); ++it)
cout << *it << " ";
return 0;
}
Output:
The vector2 elements are: 10 20 30 40
原文链接: https://www.cnblogs.com/xxxsans/p/14171344.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/206346
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!