Bài viết này trình bày cách hoạt động của hàm forward_list::reverse() trong C++ STL.
Forward List là gì?
forward_list hiểu như một danh sách liên kết đơn, nơi duyệt chỉ theo hướng tiến (không thể lùi lại) khác với list (danh sách liên kết đôi). Do chỉ lưu một con trỏ tiến, forward_list nhẹ và nhanh hơn, cho phép chèn/xóa trong thời gian không đổi.
Hàm forward_list::reverse() là gì?
forward_list::reverse() là hàm trong C++ STL dùng để đảo ngược thứ tự các phần tử trong forward list.
Cú pháp
forwardlist_name.reverse()
Tham số
Hàm này không có tham số.
Giá trị trả về
Hàm này không trả về giá trị, chỉ thực hiện đảo ngược danh sách.
Ví dụ minh họa
Input: Danh sách: 57 99 54 34 84 → Output: 84 34 54 99 57 Input: Danh sách: 40 30 60 90 70 → Output: 70 90 60 30 40
Cách tiếp cận
- Khởi tạo list.
- In list trước khi đảo.
- Gọi
forward.reverse(). - In list sau khi đảo.
Ví dụ code
// C++ code demo forward_list::reverse()
#include <iostream>
#include <forward_list>
using namespace std;
int main() {
forward_list<int> forward = {10, 20, 30, 40, 50};
cout << "Danh sách ban đầu: ";
for (auto it = forward.begin(); it != forward.end(); ++it)
cout << *it << " ";
forward.reverse();
cout << "\nDanh sách sau khi đảo: ";
for (auto it = forward.begin(); it != forward.end(); ++it)
cout << *it << " ";
return 0;
}
Kết quả
Danh sách ban đầu: 10 20 30 40 50 Danh sách sau khi đảo: 50 40 30 20 10