logo

vektor insert() Funktion i C++ STL

std::vector::insert() er en indbygget funktion i C++ STL, der indsætter nye elementer før elementet på den angivne position, hvilket effektivt øger beholderstørrelsen med antallet af indsatte elementer.

Tidskompleksitet – Lineær, O(N)



Indsætfunktionen er overbelastet til at fungere på flere sager, som er som følger:

  1. Indsæt et element ved det givne indeks.
  2. Indsæt et element flere gange.
  3. Indsæt en række elementer ved det givne indeks.

1. Indsæt et element ved det givne indeks

Syntaks for insert() i Vector

vector_name.insert (position, val);>

Parametre

Funktionen accepterer to parametre specificeret nedenfor:

  • position Den specificerer iteratoren, som peger på den position, hvor indsættelsen skal udføres.
  • val Det angiver den værdi, der skal indsættes.

Eksempel på insert() i vektor

C++








// C++ program to illustrate the function of> // vector_name.insert(position,val)> #include> using> namespace> std;> > int> main()> {> > >// Initialising the vector> >vector<>int>>vektornavn{ 1, 2, 3, 4, 5 };> > >// Printing out the original vector> >cout <<>'Original vector : '>;> >for> (>auto> x : vector_name)> >cout << x <<>' '>;> >cout <<>' '>;> > >// Inserting the value 100 at position 3(0-based> >// indexing) in the vector> >vector_name.insert(vector_name.begin() + 3, 100);> > >// Printing the modified vector> >cout <<>'Vector after inserting 100 at position 3 : '>;> >for> (>auto> x : vector_name)> >cout << x <<>' '>;> >cout <<>' '>;> > >// Inserting the value 500 at position 1(0-based> >// indexing) in the vector> >vector_name.insert(vector_name.begin() + 1, 500);> > >// Printing the modified vector> >cout <<>'Vector after inserting 500 at position 1 : '>;> >for> (>auto> x : vector_name)> >cout << x <<>' '>;> >return> 0;> }> > // This code is contributed by Abhijeet Kumar(abhijeet19403)>

strenglængde java
>

>

Produktion

Original vector : 1 2 3 4 5 Vector after inserting 100 at position 3 : 1 2 3 100 4 5 Vector after inserting 500 at position 1 : 1 500 2 3 100 4 5>

2. Indsæt flere elementer ved givet indeks

Syntaks for insert() i Vector

vector_name.insert(position, size, val)>

Parametre

Funktionen accepterer tre parametre specificeret som nedenfor:

  • position Den specificerer iteratoren, som peger på den position, hvor indsættelsen skal udføres.
  • størrelse Det angiver antallet af gange, en val skal indsættes på den angivne position.
  • val Den angiver den værdi, der skal indsættes.

Eksempel på insert() i Vector

C++




// C++ program to illustrate the function of> // vector_name.insert(position,size,val)> #include> using> namespace> std;> > int> main()> {> > >// Initialising the vector> >vector<>int>>vektornavn{ 1, 2, 3, 4, 5 };> > >// Printing out the original vector> >cout <<>'Original vector : '>;> >for> (>auto> x : vector_name)> >cout << x <<>' '>;> >cout << endl;> > >// Inserting the value 100, 4 times starting at position> >// 3> >vector_name.insert(vector_name.begin() + 3, 4, 100);> > >// Printing the modified vector> >cout <<>'Vector after inserting 100, 4 times, starting '> >'at position 3 : '>;> >for> (>auto> x : vector_name)> >cout << x <<>' '>;> >return> 0;> }> > // This code contributed by Harsh Singh (hsnooob)>

>

>

Produktion

Original vector : 1 2 3 4 5 Vector after inserting 100, 4 times, starting at position 3 : 1 2 3 100 100 100 100 4 5>

3. Indsæt rækken af ​​elementer ved givet indeks

Syntaks for Vector insert()

vector_name.insert(position, iterator1, iterator2)>

Parametre

Funktionen accepterer tre parametre specificeret nedenfor:

  • position Den specificerer den position, hvor indsættelsen skal udføres i vektoren.
  • iterator1 Den angiver startpositionen, hvorfra elementerne skal indsættes
  • iterator 2 Den specificerer slutpositionen indtil hvilke elementer der skal indsættes

Eksempel på Vector insert()

C++


if else statements java



// C++ program to illustrate the function of> // vector_name.insert(position,itr1,itr2)> #include> using> namespace> std;> > int> main()> {> > >// Initialising the vector> >vector<>int>>original{ 1, 2, 3, 4, 5 };> > >vector<>int>>temp{2, 5, 9, 0, 3, 10};> > >// Printing out the original vector> >cout <<>'Original vector : '>;> >for> (>auto> x : original)> >cout << x <<>' '>;> >cout << endl;> > >// Inserting the portion of temp vector in original> >// vector temp.begin()+3 is starting iterator of vector> >// to be copied temp.begin()+5 is ending iterator of> >// vector to be copied> >original.insert(original.begin() + 3, temp.begin() + 2,> >temp.begin() + 5);> > >// Printing the modified vector> >cout <<>'Vector after Inserting the portion of temp '> >'vector in original vector : '>;> >for> (>auto> x : original)> >cout << x <<>' '>;> >return> 0;> }> > // This code contributed by Harsh Singh (hsnooob)>

>

>

Produktion

Original vector : 1 2 3 4 5 Vector after Inserting the portion of temp vector in original vector : 1 2 3 9 0 3 4 5>