- 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. |