Trong C++, std::list là container dạng danh sách liên kết đôi. Bài viết giới thiệu hai hàm cơ bản để xóa phần tử ở đầu và cuối danh sách.
Hai hàm chính
pop_front(): Xóa phần tử đầu tiên của list.pop_back(): Xóa phần tử cuối cùng của list.
Cả hai hàm không trả về giá trị và không nhận tham số. Chúng giảm kích thước list đi 1.
Ví dụ code C++
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> list1 = {10, 15, 20, 25, 30, 35};
cout << "Danh sách ban đầu: ";
for (auto it = list1.begin(); it != list1.end(); ++it)
cout << *it << " ";
cout << endl;
// Xóa phần tử đầu
list1.pop_front();
cout << "Sau pop_front(): ";
for (auto it = list1.begin(); it != list1.end(); ++it)
cout << *it << " ";
cout << endl;
// Xóa phần tử cuối
list1.pop_back();
cout << "Sau pop_back(): ";
for (auto it = list1.begin(); it != list1.end(); ++it)
cout << *it << " ";
cout << endl;
return 0;
}
Đầu ra
Danh sách ban đầu: 10 15 20 25 30 35 Sau pop_front(): 15 20 25 30 35 Sau pop_back(): 15 20 25 30
Lưu ý
- Nếu list rỗng, gọi
pop_front()hoặcpop_back()sẽ gây hành vi không xác định (undefined behavior). Nên kiểm traempty()trước. - Để xóa phần tử ở giữa, sử dụng
erase(iterator). listkhông hỗ trợ truy cập ngẫu nhiên (random access), nên không dùngoperator[].