Język C++
list::erase
[metoda] Usuwa jeden element lub wiele elementów z kontenera listy występujących na podanej pozycji lub w podanym zakresie.Składnia
#include <list>
namespace std
{
template < class Type, class Allocator >
class list
{
public:
iterator erase( iterator _Where );
iterator erase( iterator _First, iterator _Last );
};
}
Argumenty
Zwracana wartość
Zwraca iterator wskazujący na pierwszy element występujący za usuniętym elementem bądź zakresem elementów.
W przypadku gdy element znajdujący się na końcu kontenera został usunięty to metoda zwróci iterator wskazujący na ten sam element co metoda
end.
Opis szczegółowy
Metoda usuwa jeden element lub wiele elementów z kontenera listy występujących na podanej pozycji lub w podanym zakresie.
Złożoność obliczeniowa metody: O(1).
Zagadnienia powiązane
insert | Wstawia jeden element lub wiele elementów do kontenera listy na określonej pozycji. (metoda) |
---|
Przykłady
#include <iostream>
#include <list>
int main()
{
std::list < int > listaLiczb;
std::list < int >::iterator i, id;
int index = 0, j = 0, k = 0;
while( j < 11 )
{
listaLiczb.push_back(( j++ ) * 5 );
}
i = listaLiczb.begin();
std::cout << "Elementy listy: " << std::endl;
for( id = listaLiczb.begin(); id != listaLiczb.end(); id++ )
{
std::cout << "Element [" << k++<< "]= ";
std::cout << * id << std::endl;
}
k = 0;
std::cout << "Ktory element usunac?" << std::endl;
std::cin >> index;
while( index-- )
{
i++;
}
listaLiczb.erase( i );
std::cout << "Elementy listy: " << std::endl;
for( id = listaLiczb.begin(); id != listaLiczb.end(); id++ )
{
std::cout << "Element [" << k++<< "]= ";
std::cout << * id << std::endl;
}
return 0;
}
#include <iostream>
#include <list>
int main()
{
std::list < int > listaLiczb;
std::list < int >::iterator i1, i2, id;
int pozycja_od = 0, pozycja_do = 0, j = 0, k = 0;
while( j < 11 )
{
listaLiczb.push_back(( j++ ) * 5 );
}
i1 = i2 = listaLiczb.begin();
std::cout << "Elementy listy: " << std::endl;
for( id = listaLiczb.begin(); id != listaLiczb.end(); id++ )
{
std::cout << "Element [" << k++<< "]= ";
std::cout << * id << std::endl;
}
k = 0;
std::cout << "Podaj przedzial, ktory chcesz usunac:" << std::endl;
std::cin >> pozycja_od >> pozycja_do;
while( pozycja_od-- )
{
i1++;
}
while(( pozycja_do-- ) >= 0 )
{
i2++;
}
listaLiczb.erase( i1, i2 );
std::cout << "Elementy listy: " << std::endl;
for( id = listaLiczb.begin(); id != listaLiczb.end(); id++ )
{
std::cout << "Element [" << k++<< "]= ";
std::cout << * id << std::endl;
}
return 0;
}
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.