So sánh những đặc điểm, cách sử dụng vector và list trong lập trình c++ Trong bài viết này Stanford sẽ hướng dẫn các bạn học lập trình c++ thông qua việc so sánh sự khác biệt giữa vector và list trong lập trình c++ cũng như ví dụ sử dụng trong trong thực tế. List và Vector đều là thành phần trong thư viện chuẩn STL của lập trình c++. Tùy theo nhu cầu công việc mà bạn có thể sử dụng vector hay list. Trong phạm vi bài viết này chúng ta sẽ có những so sánh về 2 loại danh sách này. So sánh std::list và std::vector Khi nào dùng vector Khi cần truy cập ngẫu nhiên thường xuyên. Khi số lượng phần tử không thay đổi nhiều. Khi cần hiệu suất cao và tối ưu bộ nhớ. Khi thao tác chủ yếu là thêm vào cuối. Khi nào dùng list Khi cần chèn/xóa phần tử ở giữa hoặc đầu danh sách thường xuyên. Khi không cần truy cập ngẫu nhiên. Khi cần duy trì iterator hợp lệ sau khi chèn/xóa. Ví dụ: So sánh hiệu năng giữa list và vector qua đoạn lập trình c++ như sau: #include <iostream> #include <vector> #include <list> #include <chrono> int main() { const int N = 100000; std::vector<int> vec; std::list<int> lst; // Thêm vào đầu vector auto start = std::chrono::high_resolution_clock::now(); for (int i = 0; i < N; ++i) vec.insert(vec.begin(), i); auto end = std::chrono::high_resolution_clock::now(); std::cout << "Vector insert at front: " << std::chrono::duration<double>(end - start).count() << "s\n"; // Thêm vào đầu list start = std::chrono::high_resolution_clock::now(); for (int i = 0; i < N; ++i) lst.push_front(i); end = std::chrono::high_resolution_clock::now(); std::cout << "List push_front: " << std::chrono::duration<double>(end - start).count() << "s\n"; return 0; } Dưới đây là biểu đồ trực quan hóa hiệu năng giữa std::vector và std::list khi chèn 100.000 phần tử vào đầu container: Như vậy qua bài viết này Stanford đã giúp các bạn học lập trình c++ so sánh list và vector trong thư viện chuẩn STL và cách sử dụng nó qua ví dụ thực tế cũng như so sánh hiệu năng của hai danh sách này trong lập trình c++. Bên cạnh việc tự học c++ để hiệu quả bạn có thể lựa chọn tham gia khóa học lập trình c++ cho người mới cùng chuyên gia giàu kinh nghiệm Stanford. Đăng ký tham gia khoá học lập trình c++ cho người mới tại đây: http://bit.ly/2SLPYFF. Hoặc gọi ngay cho Stanford theo hotline: 0963.723.236 - 0866.586.366 để được gọi lại tư vấn trực tiếp nhé. ==========🎬 🎬 🎬========== ☎️STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ Hotline: 0963 723 236 - 0866 586 366 Website: https://stanford.com.vn Facebook: http://bit.ly/2FN0TYb Youtube: http://bit.ly/2TkKT7I Tags: list trong c++, sử dụng vector