logo

Lista C++

  • Lista jest ciągłym kontenerem, podczas gdy wektor jest kontenerem nieciągłym, tj. lista przechowuje elementy w pamięci ciągłej, a wektory w pamięci nieciągłej.
  • Wstawianie i usuwanie w środku wektora jest bardzo kosztowne, gdyż zajmuje dużo czasu na przesuwanie wszystkich elementów. Lista linków rozwiązuje ten problem i jest implementowana przy użyciu kontenera list.
  • Lista obsługuje dwukierunkowość i zapewnia efektywny sposób operacji wstawiania i usuwania.
  • Przechodzenie na liście jest powolne, ponieważ dostęp do elementów listy jest uzyskiwany sekwencyjnie, podczas gdy wektor obsługuje dostęp losowy.

Szablon listy

 #include #include using namespace std; int main() { list l; } 

Tworzy pustą listę wartości typu całkowitego.

Listę można także inicjalizować parametrami.

 #include #include using namespace std; int main() { list l{1,2,3,4}; } 

Listę można zainicjować na dwa sposoby.

 list new_list{1,2,3,4}; or list new_list = {1,2,3,4}; 

Funkcje listowe w C++

Poniżej znajdują się funkcje członkowskie listy:

metoda Opis
wstawić() Wstawia nowy element przed pozycją wskazywaną przez iterator.
push_back() Dodaje nowy element na końcu wektora.
push_front() Dodaje nowy element z przodu.
pop_back() Usuwa ostatni element.
pop_front() Usuwa pierwszy element.
pusty() Sprawdza, czy lista jest pusta, czy nie.
rozmiar() Znajduje liczbę elementów znajdujących się na liście.
największy rozmiar() Znajduje maksymalny rozmiar listy.
przód() Zwraca pierwszy element listy.
z powrotem() Zwraca ostatni element listy.
zamieniać() Zamienia dwie listy, gdy typ obu list jest taki sam.
odwracać() Odwraca elementy listy.
sortować() Sortuje elementy listy w kolejności rosnącej.
łączyć() Łączy dwie posortowane listy.
splatać() Wstawia nową listę do listy wywołującej.
unikalny() Usuwa wszystkie zduplikowane elementy z listy.
Zmień rozmiar() Zmienia rozmiar kontenera listy.
przydzielać() Przypisuje nowy element do kontenera listy.
Lokalizacja() Wstawia nowy element w określonej pozycji.
miejsce_powrót() Wstawia nowy element na końcu wektora.
miejsce_front() Wstawia nowy element na początku listy.