Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

list::pop_front() và list::pop_back() trong C++ STL


Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của các hàm list::pop_front() và list::pop_back() trong C++ STL.

List trong STL là gì?

List là một cấu trúc dữ liệu cho phép chèn và xóa ở bất kỳ vị trí nào trong chuỗi với thời gian không đổi. List được triển khai dưới dạng danh sách liên kết đôi. List cho phép cấp phát bộ nhớ không liên tục. List hoạt động tốt hơn array, vector và deque khi chèn, trích xuất và di chuyển phần tử ở bất kỳ vị trí nào trong container. Trong List, truy cập trực tiếp vào phần tử chậm hơn và list tương tự như forward_list, nhưng forward_list là danh sách liên kết đơn và chỉ có thể lặp tiến.

list::pop_front() là gì?

list::pop_front() là hàm built-in trong C++ STL được khai báo trong header <list>. Hàm này dùng để loại bỏ phần tử ở đầu list. Khi sử dụng, phần tử đầu tiên trong container bị xóa và phần tử kế tiếp trở thành phần tử đầu tiên, kích thước container giảm đi 1.

Cú pháp

list_container1.pop_front();

Tham số

Hàm này không nhận tham số nào.

Giá trị trả về

Hàm này không trả về giá trị.

Ví dụ

Input: list<int> List_container = {10, 11, 13, 15}; List_container.pop_front(); Output: List = 11 13 15

Ví dụ hoàn chỉnh

#include <iostream>
#include <list>
using namespace std;
int main() {
    list<int> myList_1 = {}, myList_2 = {};
    myList_1.push_front(10);
    myList_1.push_front(20);
    myList_1.push_front(30);
    myList_1.push_front(40);
    myList_1.push_front(50);
    while (!myList_1.empty()) {
        myList_2.push_front(myList_1.front());
        myList_1.pop_front();
    }
    cout << "Elements in the list are : ";
    for (auto i = myList_2.begin(); i != myList_2.end(); ++i)
        cout << ' ' << *i;
}

Kết quả

Chạy mã trên sẽ cho kết quả sau:

Elements in the list are : 10 20 30 40 50

list::pop_back() là gì?

list::pop_back() là hàm built-in trong C++ STL được khai báo trong header <list>. Hàm này dùng để loại bỏ phần tử ở cuối list. Khi sử dụng, phần tử cuối cùng bị xóa và phần tử trước đó trở thành phần tử cuối, kích thước list giảm đi 1.

Cú pháp

list_container.pop_back();

Tham số

Hàm này không nhận tham số nào.

Giá trị trả về

Hàm này không trả về giá trị.

Ví dụ

Input: list<int> List_container = {10, 11, 13, 15}; List_container.pop_back(); Output: List = 10 11 13

Ví dụ hoàn chỉnh

#include <iostream>
#include <list>
using namespace std;
int main() {
    list<int> myList_1 = {}, myList_2 = {};
    myList_1.push_front(10);
    myList_1.push_front(20);
    myList_1.push_front(30);
    myList_1.push_front(40);
    myList_1.push_front(50);
    while (!myList_1.empty()) {
        myList_2.push_front(myList_1.back());
        myList_1.pop_back();
    }
    cout << "Elements in the list are : ";
    for (auto i = myList_2.begin(); i != myList_2.end(); ++i)
        cout << ' ' << *i;
}

Kết quả

Chạy mã trên sẽ cho kết quả sau:

Elements in the list are : 50 40 30 20 10