std::vector::insert()是C++ STL中的内置函数,该函数在指定位置的元素之前插入新元素,从而通过插入的元素数量有效地增加了容器大小。
- 用法:
vector_name.insert (position, val)
参数:该函数接受以下指定的两个参数:
- position -它指定迭代器,该迭代器指向要进行插入的位置。
- val -它指定要插入的值。
返回值:该函数返回一个迭代器,该迭代器指向新插入的元素。
示例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; }
输出:The vector elements are: 2 3 7 10 20 30 40
示例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; }
输出:The vector elements are: 10 20 30 40 50 60 70 80
- 用法:
vector_name.insert(position, size, val)
参数:该函数接受以下指定的三个参数:
- position -它指定迭代器,该迭代器指向要进行插入的位置。
- size -它指定在指定位置插入val的次数。
- val -它指定要插入的值。
返回值:该函数返回一个迭代器,该迭代器指向新插入的元素。
以下示例程序旨在说明上述函数:
// 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; }
输出:The vector elements are: 4 4 3 10 20 30 40
- 用法:
vector_name.insert(position, iterator1, iterator2)
参数:该函数接受以下指定的三个参数:
- position -它指定要在矢量中插入的位置。
- iterator1 -它指定插入元素的起始位置
- iterator2 -它指定要插入元素的结束位置
返回值:该函数返回一个迭代器,该迭代器指向新插入的元素。
下面是上述函数的说明:
// 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; }
输出:The vector2 elements are: 10 20 30 40
相关用法
- C++ set insert()用法及代码示例
- C++ unordered_multiset insert()用法及代码示例
- C++ multiset insert()用法及代码示例
- C++ unordered_set insert()用法及代码示例
- C++ deque insert()用法及代码示例
- C++ vector data()用法及代码示例
- C++ vector max_size()用法及代码示例
- C++ vector emplace()用法及代码示例
- C++ vector shrink_to_fit()用法及代码示例
- C++ vector capacity()用法及代码示例
- C++ vector rbegin()、rend()用法及代码示例
- C++ vector::front()、vector::back()用法及代码示例
- C++ vector::cbegin()、vector::cend()用法及代码示例
注:本文由纯净天空筛选整理自Twinkl Bajaj大神的英文原创作品 vector insert() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。