Diferența între vector și listă

Vector vs Lista

Adesea confuze pentru programatori, vectori și liste sunt secvențe 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 deține unele sau toate datele, adică, î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.

Vectorii
Vectorii sunt utilizați în agățarea matricei ș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
mijloc (listă) sau din față.
Numărul elementelor dintr-o matrice poate varia dramatic.
Exemplu:
vector V;
V.insert (V.begin (), 3);
afirmați (V.size () == 1 && V.capacitate ()> = 1 && V [0] == 3);

liste
Listele sunt "secvențe dublu legate", care susțin atât traversarea înainte cât și înapoi. Timpul necesar introducerii și ștergerii la început, la sfârșit ș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
// definiți clasa șablonului
... .
int main ()

int array [4] = 2, 6, 4, 8;
std :: valorile listate;
std :: list otherValues;

Rezumat:
1. O listă nu este sincronizată în timp ce un vector este.
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, adică 50%.