Különbség a vektor és a lista között

Vektor vs Lista

A programozókat gyakran zavaró vektorok és listák a C ++ és Java tömbtartásokban használt szekvenciák. A két kifejezés tömbcímeket tart, de a tömbök tárolásának különböző módszereivel.
Az az alapvető dolog, amit tudnunk kell, hogy a tömb egy „lista”, amely az adatok egy részét vagy egészét, azaz egészeket, lebegőpontokat vagy karaktereket tartalmazza, és a „[]” zárójelben van meghatározva.
Valójában a vektorok és a listák az esetek szerint működnek. Vessünk egy pillantást e két kifejezésre.

Vektor
A vektorokat tömbtartásban és elemek eléréséhez használják. Itt bármilyen elemhez véletlenszerűen hozzáférhet a „[]” operátor segítségével. Így egyszerűvé válik az összes elem, vagy egy adott elem áttekintése egy vektorművelettel. Tehát, ha bármelyik objektumot beilleszt a végére, elejére vagy közepére, akkor a vektoroknak van egy pluszpontja, mert hozzáférhet a véletlenszerű címhez, és ott módosíthat. A vektorok azonban kissé lassúak a listaobjektumokhoz képest. A vektorokat szinkronizált objektumoknak tekintik, véletlen hozzáférés esetén hatékonyak, és megfelelően tárolják az adatokat egy szinkronizált listával. A vektort akkor választják ki, amikor nincs szükség a beillesztésre vagy törlésre
középső (lista) vagy elölről.
A tömb elemeinek száma drámaian változhat.
Példa:
V vektor;
V. beszúrás (V. Begin (), 3);
állítsa (V. méret () == 1 && V. kapacitás ()> = 1 && V [0] == 3);

List
A listák „kettős kapcsolású szekvenciák”, amelyek mind az előre, mind pedig a hátramenetet támogatják. A beillesztés és a törlés eleje, eleje, vége és közepe állandó. A csatolt listák beillesztése és illesztése nem érvényteleníti az elemek iterációját. Csak az eltávolítás érvényteleníti az iterációt. Nem vannak szinkronizálva, tehát véletlenszerűen nem érhetők el. Az iterációk sorrendje a felhasználótól függően változhat, de ez nem befolyásolja az elemek változásait. Gyorsabbak, mint a vektorok, és ideálisak az elemek listájának elején, közepén és végén történő beillesztéshez és törléshez.

Példa:
#include
// lista osztály-sablon meghatározása
... .
int main ()

int tömb [4] = 2, 6, 4, 8;
std :: lista értékek;
std :: felsorolja az egyéb értékeket;

Összefoglaló:
1. A lista nem lesz szinkronizálva, amikor egy vektor van.
2. A listáknak nincs alapértelmezett mérete, míg a vektorok alapértelmezett mérete 10.
3. A listák és a vektorok egyaránt dinamikusan növekvő tömbök.
4. A lista nem biztonságos a szálra, míg a vektor nem biztonságos a szálra.
5. A listák, mivel csak az elülső és a hátsó rész hozzáadására és törlésére vonatkoznak, gyorsabbak
a vektorok több CPU-t vesznek igénybe.
6. Egy vektor kétszer növekszik, míg a lista felére, azaz 50% -ra csökken.