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

list::resize

[metoda] Ustawia nowy rozmiar kontenera listy.

Składnia

C/C++
#include <list>

namespace std
{
    template < class Type, class Allocator >
    class list
    {
    public:
        void resize( size_type _Newsize );
        void resize( size_type _Newsize, Type _Val );
    };
}

Argumenty

ArgumentOpis
size_type _NewsizeNowy rozmiar kontenera. Określa liczbę elementów jaka ma się znajdować w kontenerze po wykonaniu niniejszej metody.
Type _ValWartość jaka ma zostać nadana elementom, które zostaną dodane do kontenera w przypadku jego powiększenia.

Opis szczegółowy

Metoda ustawia nowy rozmiar kontenera listy. Argument _Newsize określa liczbę elementów jaka ma się znajdować w kontenerze po wykonaniu tej metody.

W przypadku gdy liczba elementów w kontenerze jest mniejsza niż wartość oczekiwana to dodawane są nowe elementy na koniec kontenera aż do uzyskania odpowiedniej liczby elementów. Elementom dodawanym jest nadawana wartość przekazana poprzez argument _Val, bądź wartość domyślna w przypadku gdy argument _Val nie został podany. Wartością domyślną jest wartość nadawana przez konstruktor domyślny.

W przypadku gdy liczba elementów w kontenerze jest większa niż wartość oczekiwana to elementy są usuwane z końca kontenera aż do uzyskania odpowiedniej liczby elementów.

W przypadku gdy oczekiwana liczba elementów jest taka sama jak liczba elementów znajdujących się w kontenerze to żadna akcja nie jest podejmowana.

Przykłady

  • Zmniejszenie rozmiaru listy:
    C/C++
    #include <iostream>
    #include <list>

    int main()
    {
        std::list < int > mojaLista;
        std::list < int >::iterator i;
       
        for( int i = 0; i < 100; i += 2 )
        {
            mojaLista.push_back( i );
        }
       
        std::cout << "Liczby parzyste z przedzialu '0-99':" << std::endl;
        for( i = mojaLista.begin(); i != mojaLista.end(); i++ )
        {
            std::cout << * i << std::endl;
        }
       
        mojaLista.resize( 25 );
       
        std::cout << "Liczby parzyste z przedzialu '0-49':" << std::endl;
        for( i = mojaLista.begin(); i != mojaLista.end(); i++ )
        {
            std::cout << * i << std::endl;
        }
       
        return 0;
    }
  • Zwiększenie rozmiaru listy:
    C/C++
    #include <iostream>
    #include <list>

    int main()
    {
        std::list < int > mojaLista;
        std::list < int >::iterator i;
       
        mojaLista.push_back( 1 );
        mojaLista.push_back( 2 );
        mojaLista.push_back( 3 );
       
        std::cout << "Elementy listy:" << std::endl;
        for( i = mojaLista.begin(); i != mojaLista.end(); i++ )
        {
            std::cout << * i << std::endl;
        }
       
        mojaLista.resize( 10 );
       
        std::cout << "Elementy listy:" << std::endl;
        for( i = mojaLista.begin(); i != mojaLista.end(); i++ )
        {
            std::cout << * i << std::endl;
        }
       
        return 0;
    }
  • Zwiększenie rozmiaru listy oraz podanie wartości, jaką mają mieć dodane elementy:
    C/C++
    #include <iostream>
    #include <list>

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

Linki zewnętrzne