Rate this post

Trong C++, list là một container trong STL (Standard Template Library) dùng để lưu trữ và quản lý các phần tử liên tục. Nó có thể chứa các kiểu dữ liệu khác nhau và cung cấp các hàm tiên tiến để thao tác với các phần tử trong list.

Các bài viết liên quan

Cú pháp khai báo:

list<T> variable_name;

Trong đó, T là kiểu dữ liệu của các phần tử trong list.

Ví dụ:

#include <iostream>
#include <list>
using namespace std;

int main() {
    list<int> numbers;
    numbers.push_back(5);
    numbers.push_back(3);
    numbers.push_back(8);
    numbers.push_back(1);

    cout << "Elements of the list: ";
    for (auto i : numbers) {
        cout << i << " ";
    }
    cout << endl;

    numbers.sort();
    cout << "Sorted list: ";
    for (auto i : numbers) {
        cout << i << " ";
    }
    cout << endl;
    return 0;
}

Kết quả:

Elements of the list: 5 3 8 1
Sorted list: 1 3 5 8

Trong ví dụ trên, một list với tên numbers được khai báo và các phần tử 5,3,8,1 được thêm vào. Sử dụng vòng lặp for-each để in ra các phần tử của list, sau đó sử dụng hàm sort() để sắp xếp list và in ra lại.

List trong C++ cung cấp rất nhiều hàm tiện ích như push_back(), pop_back(), insert(), erase(), sort() và các hàm khác cho phép thao tác với các phần tử trong list một cách dễ dàng.

Một số ví dụ list trong c++

Ví dụ 1: Tạo và thêm phần tử vào list

#include <iostream>
#include <list>
using namespace std;

int main() {
    list<int> numbers;
    numbers.push_back(5);
    numbers.push_back(3);
    numbers.push_back(8);
    numbers.push_back(1);

    cout << "Elements of the list: ";
    for (auto i : numbers) {
        cout << i << " ";
    }
    cout << endl;
    return 0;
}

Ví dụ 2: Xóa phần tử từ list

#include <iostream>
#include <list>
using namespace std;

int main() {
    list<int> numbers;
    numbers.push_back(5);
    numbers.push_back(3);
    numbers.push_back(8);
    numbers.push_back(1);

    cout << "Elements of the list before deletion: ";
    for (auto i : numbers) {
        cout << i << " ";
    }
    cout << endl;

    // Xóa phần tử có giá trị 3 từ list
    numbers.remove(3);

    cout << "Elements of the list after deletion: ";
    for (auto i : numbers) {
        cout << i << " ";
    }
    cout << endl;
    return 0;
}

Ví dụ 3: Sắp xếp và in ra list

#include <iostream>
#include <list>
using namespace std;

int main() {
    list<int> numbers;
    numbers.push_back(5);
    numbers.push_back(3);
    numbers.push_back(8);
    numbers.push_back(1);

    cout << "Elements of the list before sorting: ";
    for (auto i : numbers) {
        cout << i << " ";
    }
    cout << endl;

    numbers.sort();

    cout << "Elements of the list after sorting: ";
    for (auto i : numbers) {
        cout << i << " ";
    }
    cout << endl;
    return 0;
}

List trong C++ STD

Trong thư viện tiêu chuẩn C++ (C++ STL), có container (bộ chứa) là list, được sử dụng để lưu trữ các phần tử dưới dạng danh sách liên kết kép. List cho phép thêm hoặc xóa phần tử ở bất kỳ vị trí nào trong danh sách một cách hiệu quả.

Để sử dụng list trong C++, cần bao gồm thư viện <list>. Sau đó, có thể khai báo một đối tượng list bằng cách sử dụng cú pháp sau:

#include <list>

std::list<int> mylist;

Trong đó, std::list là kiểu dữ liệu, và mylist là tên của đối tượng list.

Các phương thức phổ biến của list bao gồm:

  • push_back(value): Thêm phần tử vào cuối danh sách.
  • push_front(value): Thêm phần tử vào đầu danh sách.
  • pop_back(): Xóa phần tử cuối cùng khỏi danh sách.
  • pop_front(): Xóa phần tử đầu tiên khỏi danh sách.
  • insert(position, value): Thêm phần tử vào danh sách tại vị trí được chỉ định.
  • erase(position): Xóa phần tử tại vị trí được chỉ định khỏi danh sách.
  • size(): Trả về số lượng phần tử trong danh sách.
  • begin(): Trả về một con trỏ đến phần tử đầu tiên trong danh sách.
  • end(): Trả về một con trỏ đến phần tử cuối cùng trong danh sách.

Ví dụ:

#include <list>
#include <iostream>

int main() {
    std::list<int> mylist = {1, 2, 3, 4, 5};

    mylist.push_back(6);
    mylist.push_front(0);
    mylist.insert(std::next(mylist.begin(), 3), 10);

    for (auto it = mylist.begin(); it != mylist.end(); it++) {
        std::cout << *it << " ";
    }
    // Output: 0 1 2 10 3 4 5 6 

    return 0;
}

Trong ví dụ này, đối tượng mylist ban đầu chứa các giá trị 1, 2, 3, 4 và 5. Sau đó, phương thức push_back()push_front() được sử dụng để thêm các giá trị 6 và 0 vào cuối và đầu danh sách. Phương thức insert() được sử dụng để chèn giá trị 10 vào vị trí thứ 3 trong danh sách. Cuối cùng, danh sách được duyệt và các giá trị của phần tử được in ra màn hình.

Xem thêm linked list trong c++

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now