Forskjellen mellom vektor og liste

Vector vs Liste

Ofte forvirrende for programmererne, 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, dvs. heltal, flytpunkter 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 array hold og elementer tilgang. 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
midt (liste) eller fra forsiden.
Antallet elementer i en matrise kan variere dramatisk.
Eksempel:
vektor V;
V.insert (V.begin (), 3);
assert (V.size () == 1 && V.capacity ()> = 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:
#inkludere
// liste klassemaler definisjon
... .
int main ()

int array [4] = 2, 6, 4, 8;
std :: listeværdier;
std :: liste 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 i tråden, 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, dvs. 50 prosent.