Różnica między wektorem a listą

Różnica między wektorem a listą

Wektor kontra lista

Często mylące dla programistów, wektory i listy są sekwencjami używanymi w zakresie macierzy w C ++ i Java. Dwa terminy zawierają adresy tablicy, ale z różnymi metodami trzymania tablic.
Podstawową rzeczą, którą musimy wiedzieć, jest to, że tablica to „lista”, która zawiera niektóre lub wszystkie dane, i.mi., liczby całkowite, pływające punkty lub postacie i są zdefiniowane w nawiasach „[]."
Właściwie wektory i listy działają zgodnie z instancjami. Rzućmy więc okiem na te dwa warunki jeden po drugim.

Wektory
Wektory są używane w trzymaniu tablicy i dostępie do elementów. Tutaj możesz uzyskać dostęp do dowolnego elementu losowo za pomocą operatora „[]”. Więc łatwo jest przejrzeć wszystkie elementy lub jeden konkretny element z operacją wektorową. Więc jeśli wstawisz dowolny obiekt na końcu, na początku lub na środku, wektory mają punkt plus, ponieważ możesz uzyskać dostęp do losowego adresu i wprowadzić tam zmiany. Jednak wektory są nieco powolne w porównaniu z obiektami listy. Wektory są uważane za zsynchronizowane obiekty, wydajne w losowym dostępie i właściwie przechowują dane za pomocą zsynchronizowanej listy. Wektor jest zbierany, gdy nie ma potrzeby wstawienia lub usuwania w
środkowy (lista) lub z przodu.
Liczba elementów w tablicy może się znacznie różnić.
Przykład:
wektor V;
V.Wstaw (v.początek (), 3);
Assert (v.size () == 1 && v.pojemność ()> = 1 && v [0] == 3);

Listy
Listy to „podwójnie połączone sekwencje” obsługujące zarówno przejście do przodu, jak i do tyłu. Czas zawierający w wprowadzaniu i usuwaniu na początku, koniec i pośrodku jest stały. Wstawienie i łączenie między powiązanymi listami nie unieważnia żadnej iteracji w elementach. Tylko usunięcie unieważnia iterację. Nie są zsynchronizowane, więc nie są dostępne losowo. Zamawianie iteracji może się zmienić według użytkownika, ale nie wpływa to na żadne zmiany w elementach. Są szybsze niż wektory i idealnie nadają się do wstawienia i usuwania na początku, środkowej i końcowej listy elementów.

Przykład:
#włączać
// Wymień definicję metod-temperatury
… .
int main ()

int array [4] = 2, 6, 4, 8;
STD :: Wartości listy;
STD :: list inne wartości;

Streszczenie:
1. Lista nie jest synchronizowana, podczas gdy wektor jest.
2. Listy nie mają domyślnego rozmiaru, podczas gdy wektor ma domyślny rozmiar 10.
3. Listy i wektory to dynamicznie rosnące tablice.
4. Lista nie jest bezpieczna wątku, podczas gdy wektor jest bezpieczny.
5. Listy, ponieważ mają zastosowanie tylko do dodawania i usuwania z przodu i z tyłu, są szybsze
wektory biorą więcej procesora.
6. Wektor rośnie o swój rozmiar dwa razy, podczas gdy lista spada do połowy, i.mi., 50 procent.