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