std :: vector :: insert()是C++ STL中的内置函数,该函数在指定位置的元素之前插入新元素,从而通过插入的元素数量有效地增加了容器大小。
- 句法:
vector_name.insert (position, val)
参数:该函数接受以下指定的两个参数:
- position –指定迭代器,该迭代器指向要进行插入的位置。
- val –指定要插入的值。
返回值:该函数返回一个迭代器,该迭代器指向新插入的元素。
示例1:下面的程序说明了上面提到的函数,其中新元素插入到前面。
// Program below illustrates the // vector::insert() function #include
using namespace std; int main() { // initialising the vector vector 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
using namespace std; int main() { // initialising the vector vector 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
using namespace std; int main() { // initialising the vector vector 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
using namespace std; int main() { // initialising the vector vector vec1 = { 10, 20, 30, 40 }; vector 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++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。