- A lista egy összefüggő tároló, míg a vektor egy nem szomszédos tároló, azaz a lista az elemeket egy szomszédos memóriában tárolja, a vektor pedig egy nem szomszédos memóriában.
- A vektor közepén történő beszúrás és törlés nagyon költséges, mivel sok időt vesz igénybe az összes elem eltolása. A hivatkozáslista megoldja ezt a problémát, és a listatároló segítségével valósítja meg.
- A lista támogatja a kétirányú beállítást, és hatékony módot biztosít a beillesztési és törlési műveletekhez.
- A bejárás lassú a listában, mivel a listaelemek egymás után érhetők el, míg a vektor támogatja a véletlenszerű hozzáférést.
Sablon a listához
#include #include using namespace std; int main() { list l; }
Létrehoz egy üres listát az egész típusú értékekből.
A lista a paraméterekkel is inicializálható.
#include #include using namespace std; int main() { list l{1,2,3,4}; }
A lista kétféleképpen inicializálható.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4};
C++ függvények listája
A lista tagfunkciói a következők:
Módszer | Leírás |
---|---|
insert() | Beszúrja az új elemet az iterátor által megjelölt pozíció elé. |
visszavet() | Új elemet ad hozzá a vektor végéhez. |
push_front() | Új elemmel egészíti ki az előlapot. |
pop_back() | Törli az utolsó elemet. |
pop_front() | Törli az első elemet. |
üres() | Ellenőrzi, hogy a lista üres-e vagy sem. |
méret() | Megkeresi a listában lévő elemek számát. |
max_size() | Megkeresi a lista maximális méretét. |
elülső() | A lista első elemét adja vissza. |
vissza() | A lista utolsó elemét adja vissza. |
csere() | Két listát cserél, ha a lista típusa megegyezik. |
fordított() | Megfordítja a lista elemeit. |
fajta() | A lista elemeit növekvő sorrendbe rendezi. |
összeolvad() | Egyesíti a két rendezett listát. |
splice() | Új listát szúr be a meghívó listába. |
egyedi() | Ez eltávolítja az összes ismétlődő elemet a listáról. |
átméretezés() | Megváltoztatja a listatároló méretét. |
hozzárendelni() | Új elemet rendel a listatárolóhoz. |
elhelyezkedés() | Új elemet szúr be egy megadott helyre. |
emplace_back() | Új elemet szúr be a vektor végére. |
emplace_front() | Új elemet szúr be a lista elejére. |