Đảo ngược forward_list trong C++ | Laptrinhcanban.com

Đảo ngược forward_list trong C++

Hướng dẫn cách đảo ngược forward_list trong C++. Bạn sẽ học được cách sử dụng hàm thành viên reverse để đảo ngược các phần tử có trong forward_list C++ sau bài học này.

Đảo ngược forward_list trong C++ bằng forward_list reverse

Hàm reverse là một hàm thành viên trong class std:forward_list, có tác dụng đảo ngược thứ tự các phần tử có trong forward_list C++.

Thông thường để đảo ngược các đối tượng chứa nhiều phần tử trong nó như list, map, vector thì chúng ta hay sử dụng tới template function là std::reverse, tuy nhiên do forward_list là danh sách đơn nên chúng ta không thể truyền vào hàm này theo cú pháp truyền thống std::reverse(first, last) được.

Thay vì đó, chúng ta sẽ sử dụng hàm thành viên reverse có trong std:forward_list để tiến hành đảo ngược một forward_list trong C++.

Cú pháp sử dụng hàm reverse để đảo ngược forward_list trong C++ như sau:

f_lst.reverse();

Trong đó f_lst là tên forward_list cần đảo ngược thứ tự các phần tử.

Ví dụ cụ thể:

#include <iostream>
#include <forward_list>
using namespace std;

//Tạo hàm xuất forward_list
void dump(forward_list<int>& f_lst)
{
for (auto x: f_lst) {
cout << " "<< x ;
}
cout << endl;
}

int main ()
{
forward_list<int> f_lst{3, 1, 4, 2, 5};
cout << "Before reverse" << endl;
dump (f_lst);

f_lst.reverse();
cout << "After reverse" << endl;
dump (f_lst);
return 0;
}

Kết quả:

Before reverse
3 1 4 2 5
After reverse
5 2 4 1 3

Có thể thấy vị trí các phần tử trong forward_list ban đầu đã được đảo ngược như trên.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách đảo ngược forward_list trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.