Diferența dintre vector și listă Diferența între

Anonim

Vector vs. List

Adesea confuz pentru programatori, vectori și liste sunt secvențele folosite în exploatațiile de array în C ++ și Java. Cei doi termeni dețin adresele de matrice, dar cu metode diferite de a ține tablourile.

Lucrul de bază trebuie să știm că o matrice este o "listă" care conține unele sau toate datele, i. e., întregi, puncte plutitoare sau caractere și este definită în paranteze "[]. "

De fapt, vectorii și listele acționează conform instanțelor. Deci, să aruncăm o privire la acești doi termeni unul câte unul.

Vectori

Vectorii sunt utilizați în spațiul de reținere și accesarea elementelor. Aici puteți accesa oricare element aleatoriu utilizând operatorul "[]". Deci, devine ușor să privești toate elementele sau un element specific cu o operație vectorială. Deci, dacă introduceți vreun obiect în final, la început sau în mijloc, vectorii au un punct plus pentru că puteți accesa adresa aleatoare și puteți efectua modificări acolo. Cu toate acestea, vectorii sunt un pic cam lenți în comparație cu obiectele listate. Vectoarele sunt considerate obiecte sincronizate, eficiente în acces aleatoriu și stochează corect datele cu o listă sincronizată. Un vector este selectat ori de câte ori nu este nevoie să inserați sau să ștergeți în mijlocul (lista) de pe

sau din față.

Numărul de elemente dintr-o matrice poate varia dramatic.

Exemplu:

vector V;

V. introduceți (V. începe (), 3);

afirmă (mărimea () == 1 && V. capacitatea ()> = 1 && V [0] == 3);

Liste

Listerele sunt "secvențe dublu legate" care susțin atât traversarea înainte cât și înapoi. Timpul necesar introducerii și ștergerii la începutul, sfârșitul și în mijloc este constant. Introducerea și împărțirea între listele conectate nu anulează nicio iterație a elementelor. Doar eliminarea invalidează repetarea. Ele nu sunt sincronizate, astfel încât acestea nu sunt accesibile aleatoriu. Ordonarea iterațiilor se poate modifica în funcție de utilizator, dar nu afectează nicio modificare a elementelor. Ele sunt mai rapide decât vectorii și sunt ideale pentru inserare și ștergere la începutul, mijlocul și sfârșitul listelor de elemente.

Exemplu:

#include

// lista clasă-șablon definiție

….

int principal ()

{

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

std:: valori listă;

std:: list otherValues;

Rezumat:

1. O listă nu este sincronizată în timp ce este un vector.

2. Listele nu au dimensiune implicită în timp ce un vector are o dimensiune implicită de 10.

3. Listele și vectorii sunt ambele matrice în creștere dinamic.

4. O listă nu este fire de siguranță în timp ce un vector este thread-ul în condiții de siguranță.

5. Listele, deoarece se aplică numai adăugării și ștergerii în față și în spate, sunt mai rapide, în timp ce vectorii

iau mai mult CPU.

6. Un vector crește de dimensiunea sa de două ori în timp ce o listă scade la jumătate, i.e., 50%.