Tìm hiểu về list trong thư viện STL và cách sử dụng nó 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++ tìm hiểu về list trong thư viện chuẩn STL cũng như cách sử dụng của nó trong thực tế trong lập trình C++.

Trong C++, list là một container trong thư viện STL (Standard Template Library), được cài đặt dưới dạng danh sách liên kết đôi (doubly linked list). Điều này có nghĩa là mỗi phần tử trong list chứa con trỏ đến phần tử trước và sau nó, cho phép chèn và xóa phần tử ở bất kỳ vị trí nào một cách hiệu quả.


Đặc điểm chính của std::list

  • Cho phép chèn/xóa phần tử ở đầu/cuối hoặc giữa nhanh chóng (O(1) nếu đã có iterator).
  • Không hỗ trợ truy cập ngẫu nhiên như vector (không thể dùng list[i]).
  • Duy trì thứ tự các phần tử như khi được thêm vào.
  • Hữu ích khi cần thao tác nhiều với việc thêm/xóa phần tử giữa danh sách.

Khai báo và sử dụng cơ bản

#include <iostream>
#include <list>
 
int main() {
    std::list<int> myList;
 
    // Thêm phần tử
    myList.push_back(10);   // Thêm vào cuối
    myList.push_front(5);   // Thêm vào đầu
 
    // Duyệt danh sách
    for (int val : myList) {
        std::cout << val << " ";
    }
 
    // Xóa phần tử
    myList.pop_back();      // Xóa phần tử cuối
    myList.pop_front();     // Xóa phần tử đầu
 
    return 0;
}
Một số hàm thành viên quan trọng

Sau đây là một số hàm hay sử dụng trong list trên lập trình c++ như sau:

  • push_back(val): Thêm phần tử vào cuối
  • push_front(val): Thêm phần tử vào đầu
  • pop_back(): Xóa phần tử cuối
  • pop_front(): Xóa phần tử đầu
  • insert(pos, val): Chèn phần tử tại vị trí pos
  • erase(pos): Xóa phần tử tại vị trí pos
  • clear(): Xóa toàn bộ danh sách
  • size(): Trả về số lượng phần tử
  • empty(): Kiểm tra danh sách rỗng
  • sort(): Sắp xếp danh sách
  • reverse(): Đảo ngược danh sách
Ví dụ: Quản lý danh sách công việc
#include <iostream>
#include <list>
#include <string>
 
int main() {
    std::list<std::string> tasks;
 
    // Thêm công việc
    tasks.push_back("Làm bài tập");
    tasks.push_back("Đi chợ");
    tasks.push_front("Đọc sách");
 
    std::cout << "Danh sách công việc:\n";
    for (const auto& task : tasks) {
        std::cout << "- " << task << "\n";
    }
 
    // Xóa công việc đầu tiên
    tasks.pop_front();
 
    std::cout << "\nSau khi xóa công việc đầu tiên:\n";
    for (const auto& task : tasks) {
        std::cout << "- " << task << "\n";
    }
 
    return 0;
}

Như vậy qua bài viết này Stanford đã giúp các bạn học lập trình c++ tìm hiểu list trong thư viện chuẩn STL và cách sử dụng nó qua các ví dụ thực tế của lập trình c++. Để hiểu rõ hơn từng mục này các bạn có thể thực hành theo ví dụ hướng dẫn nhé.

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++, thư viện STL trong c++