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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。