logo

vektor insert() Funksjon i C++ STL

std::vector::insert() er en innebygd funksjon i C++ STL som setter inn nye elementer før elementet på den angitte posisjonen, og øker effektivt beholderstørrelsen med antall elementer som er satt inn.

Tidskompleksitet – Lineær, O(N)



Innsettingsfunksjonen er overbelastet for å fungere på flere tilfeller som er som følger:

  1. Sett inn et element ved den gitte indeksen.
  2. Sett inn et element flere ganger.
  3. Sett inn en rekke elementer ved den gitte indeksen.

1. Sett inn et element ved den gitte indeksen

Syntaks for insert() i Vector

vector_name.insert (position, val);>

Parametere

Funksjonen godtar to parametere spesifisert nedenfor:

  • posisjon Den spesifiserer iteratoren som peker til posisjonen der innsettingen skal gjøres.
  • val Den spesifiserer verdien som skal settes inn.

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

strenglengde java
>

>

Produksjon

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. Sett inn flere elementer ved gitt indeks

Syntaks for insert() i Vector

vector_name.insert(position, size, val)>

Parametere

Funksjonen godtar tre parametere spesifisert som nedenfor:

  • posisjon Den spesifiserer iteratoren som peker til posisjonen der innsettingen skal gjøres.
  • størrelse Den spesifiserer antall ganger en val skal settes inn på den angitte posisjonen.
  • val Den spesifiserer verdien som skal settes inn.

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

>

>

Produksjon

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. Sett inn området for elementer ved gitt indeks

Syntaks for Vector insert()

vector_name.insert(position, iterator1, iterator2)>

Parametere

Funksjonen godtar tre parametere spesifisert nedenfor:

  • posisjon Den spesifiserer posisjonen der innsetting skal gjøres i vektoren.
  • iterator1 Den spesifiserer startposisjonen som elementene skal settes inn fra
  • iterator2 Den spesifiserer sluttposisjonen til hvilke elementer som skal settes inn

Eksempel på Vector insert()

C++


sett skilletegn 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)>

>

>

Produksjon

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>