Bài viết trình bày chức năng của list::begin() và list::end() 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.
begin() là gì?
Hàm list::begin() trả về iterator trỏ đến phần tử đầu tiên của list.
Cú pháp
list_name.begin()
end() là gì?
Hàm list::end() trả về iterator trỏ đến vị trí **sau phần tử cuối cùng** của list (past-the-end).
Cú pháp
list_name.end()
Ví dụ
Duyệt list từ begin() đến end().
Ví dụ 1
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> lst = {11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
cout << "Elements in List: ";
for(auto x = lst.begin(); x != lst.end(); ++x)
cout << *x << " ";
return 0;
}
Kết quả
Elements of List: 11 12 13 14 15 16 17 18 19 20
Ví dụ 2
#include <iostream>
#include <list>
using namespace std;
int main() {
list<char> lst = {'D', 'E', 'S', 'I', 'G', 'N'};
cout << "Elements in List: ";
for(auto x = lst.begin(); x != lst.end(); ++x)
cout << *x << " ";
return 0;
}
Kết quả
Elements in List: D E S I G N