Sự khác biệt giữa Vector và Danh sách

Vector vs Danh sách

Thường gây nhầm lẫn cho các lập trình viên, vectơ và danh sách là các chuỗi được sử dụng trong các mảng giữ trong C ++ và Java. Hai thuật ngữ giữ địa chỉ mảng nhưng với các phương thức giữ mảng khác nhau.
Điều cơ bản chúng ta cần biết là một mảng là một danh sách của người ăn, có chứa một số hoặc tất cả dữ liệu, tức là, số nguyên, dấu phẩy động hoặc ký tự và được định nghĩa trong ngoặc đơn [].
Trên thực tế, vectơ và danh sách hành động theo các trường hợp. Vì vậy, hãy xem xét hai thuật ngữ này từng cái một.

Vectơ
Các vectơ được sử dụng trong việc giữ mảng và các phần tử truy cập. Tại đây, bạn có thể truy cập ngẫu nhiên bất kỳ phần tử nào bằng cách sử dụng toán tử của [ Vì vậy, nó trở nên dễ dàng để xem qua tất cả các yếu tố hoặc một yếu tố cụ thể với một hoạt động vector. Vì vậy, nếu bạn chèn bất kỳ đối tượng nào vào cuối, ở đầu hoặc ở giữa, thì vectơ có một điểm cộng vì bạn có thể truy cập địa chỉ ngẫu nhiên và thực hiện thay đổi ở đó. Tuy nhiên, vectơ hơi chậm so với các đối tượng danh sách. Các vectơ được coi là các đối tượng được đồng bộ hóa, hiệu quả trong việc truy cập ngẫu nhiên và chúng giữ dữ liệu đúng với danh sách được đồng bộ hóa. Một vectơ được chọn bất cứ khi nào không cần phải chèn hoặc xóa trong
giữa (danh sách) hoặc từ phía trước.
Số lượng phần tử trong một mảng có thể thay đổi đáng kể.
Thí dụ:
vectơ V;
V.insert (V.begin (), 3);
khẳng định (V.size () == 1 && V.capacity ()> = 1 && V [0] == 3);

Danh sách
Danh sách là các chuỗi liên kết đôi của liên kết, hỗ trợ cả hai hướng đi và lùi. Thời gian thực hiện trong quá trình chèn và xóa ở đầu, cuối và ở giữa là không đổi. Chèn và nối giữa các danh sách được liên kết không làm mất hiệu lực bất kỳ lần lặp nào trong các phần tử. Chỉ loại bỏ vô hiệu hóa các lần lặp. Chúng không được đồng bộ hóa nên không thể truy cập ngẫu nhiên. Thứ tự lặp có thể thay đổi theo người dùng, nhưng nó không ảnh hưởng đến bất kỳ thay đổi nào trong các yếu tố. Chúng nhanh hơn vectơ và lý tưởng cho việc chèn và xóa ở đầu, giữa và cuối của danh sách phần tử.

Thí dụ:
#incolee
// liệt kê định nghĩa mẫu lớp
Giáo dục .
int chính ()

int mảng [4] = 2, 6, 4, 8;
std :: liệt kê các giá trị;
std :: liệt kê các giá trị khác;

Tóm lược:
1. Một danh sách không được đồng bộ hóa trong khi một vectơ là.
2. Danh sách không có kích thước mặc định trong khi vectơ có kích thước mặc định là 10.
3. Danh sách và vectơ đều là mảng tăng trưởng động.
4. Một danh sách không phải là chủ đề an toàn trong khi một vectơ là chủ đề an toàn.
5. Danh sách, vì chúng chỉ áp dụng cho bổ sung và xóa ở phía trước và phía sau, nhanh hơn trong khi
vectơ mất nhiều CPU.
6. Một vectơ tăng theo kích thước của nó hai lần trong khi danh sách giảm xuống còn một nửa, tức là, 50 phần trăm.