Forskjell mellom vektor og liste Forskjellen mellom

Anonim

Vector vs List

Ofte forvirrende for programmene, vektorer og lister er sekvenser som brukes i array holdings i C ++ og Java. De to begrepene inneholder arrayadresser, men med forskjellige metoder for å holde arrays.

Den grunnleggende tingen vi trenger å vite er at et array er en "liste" som inneholder noen eller alle dataene, jeg. e., heltall, flytende poeng eller tegn og er definert i parentes "[]. "

Faktisk fungerer vektorer og lister i henhold til tilfellene. Så la oss ta en titt på disse to begrepene en etter én.

Vektorer

Vektorer brukes i arrayholding og -elementer. Her kan du få tilgang til et hvilket som helst element tilfeldig ved å bruke "[]" operatøren. Så blir det enkelt å se gjennom alle elementene eller et bestemt element med en vektoroperasjon. Så hvis du setter inn et objekt i slutten, i begynnelsen eller i midten, så har vektorer et pluss punkt fordi du kan få tilgang til den tilfeldige adressen og gjøre endringer der. Men vektorer er litt treg i forhold til listobjekter. Vektorer regnes som synkroniserte objekter, effektive i tilfeldig tilgang, og de lagrer dataene riktig med en synkronisert liste. En vektor blir plukket når det ikke er behov for å sette inn eller slette i

midten (liste) eller fra forsiden.

Antallet elementer i en array kan variere dramatisk.

Eksempel:

vektor V;

V. sett inn (V. start (), 3);

assert (V. Størrelse () == 1 && V. kapasitet ()> = 1 && V [0] == 3);

Lister

Lister er "dobbeltkoblede sekvenser" som støtter både fremover og bakover. Tiden tatt i innsetting og sletting i begynnelsen, slutten og i midten er konstant. Innsetting og spleising mellom koblede lister kan ikke ugjøre noen iterasjon i elementene. Bare fjerning ugyldiggjør iterasjonen. De er ikke synkronisert, slik at de ikke er tilgjengelig tilfeldig. Bestilling av iterasjoner kan endres i henhold til brukeren, men det påvirker ikke endringer i elementene. De er raskere enn vektorer og er ideelle for innsetting og sletting i begynnelsen, midten og slutten av elementlister.

Eksempel:

#include

// liste klassemalerdefinisjon

….

int main ()

{

int array [4] = {2, 6, 4, 8};

std:: listen verdier;

std:: list otherValues;

Sammendrag:

1. En liste synkroniseres ikke mens en vektor er.

2. Lister har ingen standardstørrelse mens en vektor har en standardstørrelse på 10.

3. Lister og vektorer er begge dynamisk voksende arrays.

4. En liste er ikke sikker på en tråd, mens en vektor er trådsikker.

5. Lister, som de bare gjelder for tillegg og sletting foran og bak, er raskere mens

vektorer tar mer CPU.

6. En vektor vokser med sin størrelse to ganger mens en liste reduseres til halv, i.e., 50 prosent.