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

Hàm list::pop_front() trong C++ STL


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

List trong STL là gì?

List là cấu trúc dữ liệu cho phép chèn và xóa ở bất kỳ vị trí nào trong 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 hiệu quả hơn array, vector, deque về chèn, xóa, di chuyển phần tử. Truy cập trực tiếp phần tử trong list chậm hơn, list tương tự forward_list nhưng forward_list là danh sách liên kết đơn chỉ duyệt được một chiều.

pop_front() là gì?

pop_front() là hàm built-in trong C++ STL, khai báo trong header <list>. Hàm này xóa phần tử đầu tiên của list container. Phần tử thứ hai trở thành phần tử đầu tiên, kích thước container giảm đi 1.

Cú pháp

void pop_front();

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

Giá trị trả về

Hàm không trả về giá trị, chỉ xóa phần tử đầu tiên khỏi container.

Ví dụ 1

#include <bits/stdc++.h>
using namespace std;

int main() {
    list<int> myList;
    myList.push_back(1);
    myList.push_back(2);
    myList.push_back(3);
    myList.push_back(4);
    cout << "List contains: ";
    for(auto i = myList.begin(); i != myList.end(); i++)
        cout << *i << " ";
    myList.pop_front();
    cout << "\nList after removing an element from front: ";
    for(auto i = myList.begin(); i != myList.end(); i++)
        cout << *i << " ";
    return 0;
}

Kết quả

List contains: 1 2 3 4
List after removing an element from front: 2 3 4

Ví dụ 2

#include <iostream>
#include <list>

int main() {
    std::list<int> myList;
    myList.push_back(10);
    myList.push_back(20);
    myList.push_back(30);
    std::cout << "removing the elements in a list: ";
    while(!myList.empty()) {
        std::cout << ' ' << myList.front();
        myList.pop_front();
    }
    std::cout << "\nSize of my empty list is: " << myList.size() << '\n';
    return 0;
}

Kết quả

removing the elements in a list: 10 20 30
Size of my empty list is: 0