Bài viết thảo luận về cách hoạt động, cú pháp và ví dụ của hàm list::reverse() 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.
list::reverse() là gì?
list::reverse() là hàm built-in trong C++ STL, khai báo trong header <list>. Hàm này đảo ngược thứ tự phần tử trong list container: phần tử cuối trở thành đầu, và ngược lại.
Biểu đồ minh họa list và dạng đảo ngược:

Cú pháp
list_name.reverse();
Hàm không nhận tham số.
Giá trị trả về
Hàm không trả về giá trị. Chỉ đảo ngược container.
Ví dụ
#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: ";
for(auto i = myList.begin(); i != myList.end(); i++)
cout << *i << " ";
myList.reverse();
cout << "\nList after applying reverse(): ";
for(auto i = myList.begin(); i != myList.end(); i++)
cout << *i << " ";
return 0;
}
Kết quả
List: 1 2 3 4 List after applying reverse(): 4 3 2 1