logo

vector insert() Functie in C++ STL

std::vector::insert() is een ingebouwde functie in C++ STL die nieuwe elementen vóór het element op de opgegeven positie invoegt, waardoor de containergrootte effectief wordt vergroot met het aantal ingevoegde elementen.

Tijdcomplexiteit – Lineair, O(N)



De invoegfunctie is overbelast om aan meerdere cases te werken, namelijk:

  1. Voeg een element in op de gegeven index.
  2. Voeg een element meerdere keren in.
  3. Voeg een reeks elementen in op de gegeven index.

1. Voeg een element in op de gegeven index

Syntaxis van insert() in Vector

vector_name.insert (position, val);>

Parameters

De functie accepteert twee hieronder gespecificeerde parameters:

  • positie Het specificeert de iterator die verwijst naar de positie waar de invoeging moet worden gedaan.
  • val Het specificeert de waarde die moet worden ingevoegd.

Voorbeeld van insert() in vector

C++








// C++ program to illustrate the function of> // vector_name.insert(position,val)> #include> using> namespace> std;> > int> main()> {> > >// Initialising the vector> >vector<>int>>vectornaam{ 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)>

Java-switch int
>

>

Uitvoer

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. Voeg meerdere elementen in op een bepaalde index

Syntaxis van insert() in Vector

vector_name.insert(position, size, val)>

Parameters

De functie accepteert drie parameters, zoals hieronder gespecificeerd:

  • positie Het specificeert de iterator die verwijst naar de positie waar de invoeging moet worden gedaan.
  • maat Het specificeert het aantal keren dat een val op de opgegeven positie moet worden ingevoegd.
  • val Het specificeert de waarde die moet worden ingevoegd.

Voorbeeld van insert() in 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>>vectornaam{ 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)>

>

>

Uitvoer

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. Voeg het bereik van elementen in op de gegeven index

Syntaxis van vectorinsert()

vector_name.insert(position, iterator1, iterator2)>

Parameters

De functie accepteert drie hieronder gespecificeerde parameters:

  • positie Het specificeert de positie waarop invoeging in de vector moet plaatsvinden.
  • iterator1 Het specificeert de startpositie van waaruit de elementen moeten worden ingevoegd
  • iterator2 Het specificeert de eindpositie tot welke elementen moeten worden ingevoegd

Voorbeeld van Vectorinsert()

C++




Java-tekenreeks samenvoegen
// C++ program to illustrate the function of> // vector_name.insert(position,itr1,itr2)> #include> using> namespace> std;> > int> main()> {> > >// Initialising the vector> >vector<>int>>origineel{ 1, 2, 3, 4, 5 };> > >vector<>int>>temperatuur{ 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)>

>

>

Uitvoer

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>