- Lista on vierekkäinen säiliö, kun taas vektori on ei-jatkuva kontti, ts. luettelo tallentaa elementit vierekkäiseen muistiin ja vektori tallentaa ei-jatkuvaan muistiin.
- Lisääminen ja poistaminen vektorin keskellä on erittäin kallista, koska kaikkien elementtien siirtäminen vie paljon aikaa. Linklist ratkaisee tämän ongelman ja se toteutetaan luettelosäiliön avulla.
- Lista tukee kaksisuuntaisuutta ja tarjoaa tehokkaan tavan lisäys- ja poistotoimintoihin.
- Listan läpikulku on hidasta, koska luettelon elementtejä käytetään peräkkäin, kun taas vektori tukee satunnaiskäyttöä.
Malli luetteloon
#include #include using namespace std; int main() { list l; }
Se luo tyhjän luettelon kokonaislukutyyppiarvoista.
Lista voidaan myös alustaa parametreilla.
#include #include using namespace std; int main() { list l{1,2,3,4}; }
Lista voidaan alustaa kahdella tavalla.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4};
C++ Listafunktiot
Seuraavat ovat luettelon jäsentoiminnot:
Menetelmä | Kuvaus |
---|---|
insert() | Se lisää uuden elementin ennen iteraattorin osoittamaa sijaintia. |
työnnä takaisin() | Se lisää uuden elementin vektorin loppuun. |
push_front() | Se lisää etuosaan uuden elementin. |
pop_back() | Se poistaa viimeisen elementin. |
pop_front() | Se poistaa ensimmäisen elementin. |
tyhjä() | Se tarkistaa, onko luettelo tyhjä vai ei. |
koko() | Se etsii luettelossa olevien elementtien määrän. |
max_size() | Se löytää luettelon enimmäiskoon. |
edessä () | Se palauttaa luettelon ensimmäisen elementin. |
takaisin() | Se palauttaa luettelon viimeisen elementin. |
vaihtaa() | Se vaihtaa kaksi listaa, kun kummankin luettelon tyyppi on sama. |
käänteinen() | Se kääntää luettelon elementit päinvastaiseksi. |
järjestellä() | Se lajittelee luettelon elementit kasvavassa järjestyksessä. |
yhdistää() | Se yhdistää kaksi lajiteltua luetteloa. |
liitos() | Se lisää uuden luettelon kutsuluetteloon. |
ainutlaatuinen() | Se poistaa kaikki päällekkäiset elementit luettelosta. |
muuta kokoa() | Se muuttaa luettelosäiliön kokoa. |
assign() | Se määrittää luettelosäilölle uuden elementin. |
sijainti() | Se lisää uuden elementin määritettyyn kohtaan. |
emplace_back() | Se lisää uuden elementin vektorin loppuun. |
emplace_front() | Se lisää uuden elementin luettelon alkuun. |