Ero Vector ja List



Vector vs List

Usein sekaannusta ohjelmoijat, vektorit ja luettelot ovat käytettävät sekvenssit array tiloilla C ++ ja Java. Molemmat termit pitää array osoitteet, mutta eri menetelmien tilalla taulukot.
Perus asia, joka meidän tarvitsee tietää, että joukko on 'luettelo', joka omistaa joitakin tai kaikkia tietoja, eli kokonaislukuja, kelluva pistettä eli merkkiä ja määritellään suluissa '[].'
Oikeastaan ​​vektorit ja luettelot toimivat mukaan tapauksissa. Joten 's vilkaista nämä kaksi termiä yksitellen.

vektorit
Vektorit käytetään array tilalla ja elementtejä päästä. Täällä voit käyttää mitä tahansa elementtiä satunnaisesti käyttäen '[]' operaattori. Joten se on helppo käydä läpi kaikki elementit tai yksittäisen elementin vektorin toimintaa. Joten jos laittaa mitään lopulta, alussa tai keskellä, niin vektorit on plus kohta, koska voit käyttää satunnaisia ​​osoitteen ja tehdä muutoksia siellä. Kuitenkin vektorit ovat hieman hitaita verrattuna luetella esineitä. Vektorit pidetään synkronoitu esineitä, tehokas random access, ja he oikein pidä datan synkronoidun lista. Vektori on poimittu, jos ei ole tarpeen lisätä tai poistaa vuonna
keskimmäinen (lista) tai edestä.
Alkioiden lukumäärä array voi vaihdella dramaattisesti.
Esimerkki:
vektori V;
V.insert (V.begin (), 3);
väittävät (V.size () == 1 \u0026 amp; \u0026 amp; V.capacity () \u0026 gt; = 1 \u0026 amp; \u0026 amp; V [0] == 3);

Listat
Listat ovat 'double toisiinsa liittyvien' tukemaan sekä eteen- ja taaksepäin läpikulun. Aika, että lisäys ja poisto alussa, lopussa ja keskellä on vakio. Insertion ja liitos välillä linkitettyjen listojen eivät mitätöi iterointia elementteihin. Vain poistamalla mitätöi iteraation. Ne eivät ole synkronoitu, joten ne eivät ole saatavilla satunnaisesti. Tilaaminen toistojen voi muuttua mukaan käyttäjän, mutta se ei vaikuta mitään muutoksia elementtejä. Ne ovat nopeampia kuin vektorit ja ovat ihanteellisia lisäys ja poisto alussa, keskellä ja lopussa elementin luetteloita.



Esimerkki:
#sisältää
// Lista luokka-mallin määritelmä
.
int main ()
{
int array [4] = {2, 6, 4, 8};
std :: lista \u0026 lt; int \u0026 gt; arvot;
std :: lista \u0026 lt; int \u0026 gt; otherValues;

Yhteenveto:
1. Luettelo ei ole synkronoitu, kun vektori on.
2. Listat ole oletuksena koon, kun vektori on oletusarvo kokoa 10.
3. Listat ja vektorit ovat molemmat dynaamisesti kasvavat taulukot.
4. Luettelo ei lanka turvallinen taas vektori on kierre turvallinen.
5. Listat, koska ne koskevat vain lisäys ja poisto edessä ja takana, ovat nopeampia taas
vektorit ottaa enemmän CPU.