Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Pomógł: malan
Język C++

list::insert

[metoda] Wstawia jeden element lub wiele elementów do kontenera listy na określonej pozycji.

Składnia

C/C++
#include <list>

namespace std
{
    template < class Type, class Allocator >
    class list
    {
    public:
        iterator insert( iterator _Where, const Type & _Val );
       
        void insert( iterator _Where, size_type _Count, const Type & _Val );
       
        template < class InputIterator >
        void insert( iterator _Where, InputIterator _First, InputIterator _Last );
    };
}

Argumenty

ArgumentOpis
iterator _WhereIterator wskazujący miejsce przed którym ma zostać wstawiony nowy element (bądź elementy).
const Type & _ValWartość dla elementu, który zostanie dodany do kontenera.
size_type _CountLiczba elementów która zostanie dodana do kontenera. Wszystkie dodane elementy będą posiadały wartość _Val.
InputIterator _FirstIterator wskazujący na pierwszy element zakresu z którego elementy mają zostać dodane do kontenera.
InputIterator _LastIterator wskazujący na element występujący za ostatnim elementem zakresu z którego elementy mają zostać dodane do kontenera.

Zwracana wartość

Pierwsza metoda zwraca iterator, który wskazuje na wstawiony element. Pozostałe metody nie zwracają żadnej wartości.

Opis szczegółowy

Metoda wstawia nowe elementy do kontenera listy na określonej pozycji. Pozycję określa argument _Where. Elementy są wstawiane przed elementem na który wskazuje iterator _Where.

Złożoność obliczeniowa metody: O(1).

Zagadnienia powiązane

eraseUsuwa jeden element lub wiele elementów z kontenera listy występujących na podanej pozycji lub w podanym zakresie. (metoda)

Przykłady

C/C++
#include <iostream>
#include <list>

int main()
{
    std::list < int > listaLiczb;
    std::list < int >::iterator i;
   
    listaLiczb.push_back( 1 );
    listaLiczb.push_back( 3 );
    listaLiczb.push_back( 4 );
    listaLiczb.push_back( 5 );
   
    std::cout << "Elementy listy:" << std::endl;
    for( i = listaLiczb.begin(); i != listaLiczb.end(); i++ )
    {
        std::cout << * i << ", ";
    }
    std::cout << std::endl;
   
    i = listaLiczb.begin();
    listaLiczb.insert( ++i, 2 );
   
    std::cout << "Elementy listy:" << std::endl;
    for( i = listaLiczb.begin(); i != listaLiczb.end(); i++ )
    {
        std::cout << * i << ", ";
    }
   
    return 0;
}

C/C++
#include <iostream>
#include <list>

int main()
{
    std::list < int > listaLiczb;
    std::list < int >::iterator i;
   
    listaLiczb.push_back( 1 );
    listaLiczb.push_back( 3 );
    listaLiczb.push_back( 4 );
    listaLiczb.push_back( 5 );
   
    std::cout << "Elementy listy:" << std::endl;
    for( i = listaLiczb.begin(); i != listaLiczb.end(); i++ )
    {
        std::cout << * i << ", ";
    }
    std::cout << std::endl;
   
    i = listaLiczb.begin();
    listaLiczb.insert( ++i, 5, 2 );
   
    std::cout << "Elementy listy:" << std::endl;
    for( i = listaLiczb.begin(); i != listaLiczb.end(); i++ )
    {
        std::cout << * i << ", ";
    }
   
    return 0;
}

C/C++
#include <iostream>
#include <list>

int main()
{
    std::list < int > listaLiczb_A;
    std::list < int > listaLiczb_B;
    std::list < int >::iterator i;
   
    listaLiczb_A.push_back( 6 );
    listaLiczb_A.push_back( 7 );
    listaLiczb_A.push_back( 8 );
    listaLiczb_A.push_back( 9 );
    listaLiczb_A.push_back( 10 );
   
    listaLiczb_B.push_back( 1 );
    listaLiczb_B.push_back( 2 );
    listaLiczb_B.push_back( 3 );
    listaLiczb_B.push_back( 4 );
    listaLiczb_B.push_back( 5 );
   
    std::cout << "Elementy listy 'A'" << std::endl;
    for( i = listaLiczb_A.begin(); i != listaLiczb_A.end(); i++ )
    {
        std::cout << * i << std::endl;
    }
   
    std::cout << "Elementy listy 'B'" << std::endl;
    for( i = listaLiczb_B.begin(); i != listaLiczb_B.end(); i++ )
    {
        std::cout << * i << std::endl;
    }
   
    listaLiczb_B.insert( listaLiczb_B.end(), listaLiczb_A.begin(), listaLiczb_A.end() );
   
    std::cout << "Elementy listy 'A'" << std::endl;
    for( i = listaLiczb_A.begin(); i != listaLiczb_A.end(); i++ )
    {
        std::cout << * i << std::endl;
    }
   
    std::cout << "Elementy listy 'B'" << std::endl;
    for( i = listaLiczb_B.begin(); i != listaLiczb_B.end(); i++ )
    {
        std::cout << * i << std::endl;
    }
   
    return 0;
}

Linki zewnętrzne