logo

vektor insert() Funktion i C++ STL

std::vector::insert() är en inbyggd funktion i C++ STL som infogar nya element före elementet vid den angivna positionen, vilket effektivt ökar behållarstorleken med antalet infogade element.

Tidskomplexitet – Linjär, O(N)



Infogningsfunktionen är överbelastad för att fungera på flera fall som är som följer:

  1. Infoga ett element vid det givna indexet.
  2. Infoga ett element flera gånger.
  3. Infoga ett intervall av element vid det givna indexet.

1. Infoga ett element vid det givna indexet

Syntax för insert() i Vector

vector_name.insert (position, val);>

Parametrar

Funktionen accepterar två parametrar som anges nedan:

  • placera Den anger iteratorn som pekar på positionen där infogningen ska göras.
  • val Den anger värdet som ska infogas.

Exempel 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>>vektornamn{ 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)>

skriv json till filen python
>

>

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. Infoga flera element vid givet index

Syntax för insert() i Vector

vector_name.insert(position, size, val)>

Parametrar

Funktionen accepterar tre parametrar specificerade enligt nedan:

  • placera Den anger iteratorn som pekar på positionen där infogningen ska göras.
  • storlek Den anger antalet gånger en val ska infogas på den angivna positionen.
  • val Den anger värdet som ska infogas.

Exempel 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>>vektornamn{ 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. Infoga intervallet för element vid givet index

Syntax för Vector insert()

vector_name.insert(position, iterator1, iterator2)>

Parametrar

Funktionen accepterar tre parametrar som anges nedan:

  • placera Den specificerar positionen vid vilken infogning ska göras i vektorn.
  • iterator1 Den anger startpositionen från vilken elementen ska infogas
  • iterator2 Den anger slutpositionen till vilka element som ska infogas

Exempel på Vector insert()

C++




// 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)>

Användarnamn
>

>

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>