ฟังก์ชัน vector::insert() ใน C++ STL ช่วยเพิ่มขนาด Container โดยแทรกสมาชิกใหม่ก่อนสมาชิกที่ตำแหน่งที่ระบุ เป็นฟังก์ชันสำเร็จรูปใน STL
สามารถแทรกค่าได้ 3 รูปแบบ:
- ระบุตำแหน่งและค่า:
vector_name.insert(pos, value); - ระบุตำแหน่ง จำนวน และค่า:
vector_name.insert(pos, size, value); - แทรกจาก Vector อื่นด้วย Iterator:
empty_vector.insert(pos, iterator1, iterator2);
อัลกอริทึม
Begin
Declare vector v with values
Declare empty vector v1
Declare iterator iter
Insert value in v before beginning
Insert another value with size before beginning
Print v elements
Insert all v values into v1 using iterators
Print v1 elements
End.ตัวอย่าง
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<int> v = {50,60,70,80,90}, v1;
vector<int>::iterator iter;
iter = v.insert(v.begin(), 40); // insert at beginning
iter = v.insert(v.begin(), 1, 30); // insert with count
cout << "The vector1 elements are: \n";
for (iter = v.begin(); iter != v.end(); ++iter) cout << *iter << " " << endl;
v1.insert(v1.begin(), v.begin(), v.end()); // copy all
cout << "The vector2 elements are: \n";
for (iter = v1.begin(); iter != v1.end(); ++iter) cout << *iter << " " << endl;
return 0;
}ผลลัพธ์
The vector1 elements are: 30 40 50 60 70 80 90 The vector2 elements are: 30 40 50 60 70 80 90