Skillnaden mellan Vector och List



Vektor vs Lista

Ofta förvirrande för programmerare, vektorer och listor är sekvenser som används i matris innehav i C ++ och Java. De två villkoren hålla array adresser men med olika metoder för att hålla matriser.
Den grundläggande sak som vi behöver veta är att en array är en 'lista', som innehåller några eller alla data, dvs heltal, flytande punkter, eller tecken och definieras inom parentes '[].'
Faktiskt, vektorer och listor agera i enlighet med de instanser. Så låt 's ta en titt på dessa två termer en efter en.

vektorer
Vektorer används i uppsättningen håller och delar åtkomst. Här kan du komma åt någon del slumpmässigt med hjälp av '[]' operatör. Så blir det lätt att titta igenom alla element eller en specifik del med en vektoroperations. Så om du in något föremål i slutändan, i början eller i mitten, sedan vektorer har ett plus eftersom du kan komma åt slump adress och göra ändringar där. Men vektorer är lite långsam jämfört med lista objekt. Vektorer betraktas som synkroniserade objekt, effektiva i random access, och de riktigt hålla data med en synkroniserad lista. En vektor plockas när det finns ingen anledning att sätta in eller ta bort i
mitten (lista) eller framifrån.
Antalet element i en array kan variera kraftigt.
Exempel:
vektor V;
V.insert (V.begin (), 3);
hävda (V.size () == 1 \u0026 amp; \u0026 amp; V.capacity () \u0026 gt; = 1 \u0026 amp; \u0026 amp; V [0] == 3);

listor
Listor är 'dubbel länkade sekvenser' stödjande både framåt och bakåt traversal. Den tid det tar i insättning och deletion i början, slut, och i mitten är konstant. Insättning och skarvning mellan länkade listor inte innebära att iteration i elementen. Endast borttagning ogiltigförklarar iteration. De är inte synkroniserade så att de inte är tillgängliga slumpmässigt. Ordningen iterationer kan ändras beroende på användaren, men det påverkar inte några förändringar i väder och vind. De är snabbare än vektorer och är idealiska för insättning och borttagning i början, mitten och slutet av elementlistor.



Exempel:
#omfatta
// Lista klassdefinition-mall
.
int main ()
{
int array [4] = {2, 6, 4, 8};
std :: lista \u0026 lt; int \u0026 gt; värden;
std :: lista \u0026 lt; int \u0026 gt; otherValues;

Sammanfattning:
1. En förteckning inte synkroniseras när en vektor är.
2. Listor har ingen standardstorlek medan en vektor har en standardstorlek på 10.
3. Listor och vektorer är både dynamiskt växande matriser.
4. En lista inte är trådsäker, medan en vektor är trådsäkert.
5. listor, eftersom de endast gäller tillägg och radering i fram och bak, är snabbare medan
vektorer ta mer CPU.