Javatpoint Logo
Javatpoint Logo

forward_list::reverse() in C++

The singly linked list forward_list has a unique set of member functions. Reverse() is one of these functions that is particularly useful for rearranging the elements in a list.

  • We will examine the syntax, uses, and possible advantages of forward_list::reverse() in this post as we delve into its complexities.
  • It is important to grasp the forward_list itself thoroughly before attempting to use forward_list::reverse().
  • A singly linked list is represented by the forward_list, which is a component of the Standard Template Library (STL).
  • A forward_list is more memory-efficient than a standard doubly linked list (std::list) since it only has links to the following element in the sequence. Bidirectional access is therefore sacrificed.



forward_list::reverse() in C++


The code is explained as follows:

  • A std::forward_list called myForwardList is initialized with the numbers 1, 2, 3, 4, and 5 using the supplied C++ code.
  • It iterates through the list's elements using a range-based for loop, printing each one to the console after a space.
  • The loop uses a constant reference to stop the original parts from being altered. When the main function returns 0 at the end of the program, it has successfully executed.
  • The code essentially shows how to store and retrieve an integer sequence in C++ using a forward list.

The Requirement to Reverse a List:

  • Reversing a list's element order can be a critical action in many programming scenarios.
  • The ability to efficiently reverse a list is useful for a variety of tasks, including algorithm optimization, data preparation for presentation, and the implementation of certain data structures.
  • Imagine a situation where we receives data in a specific order, but we need it in reverse for processing or displaying.
  • A more succinct and effective solution is offered by the forward_list::reverse() function as opposed to handling the elements by hand or making a new list.

Forward_list::reverse() syntax:

The usage of the forward_list::reverse() function is really simple. It is called on an instance of a forward_list and is a member function of the forward_list class. The following is the syntax:

The function doesn't throw exceptions and doesn't accept any arguments, as indicated by the no-exception specifier. It is consistent with the C++ Standard Library's overarching goal of delivering reliable and effective behavior.

Let's observe how forward_list::reverse() works:



forward_list::reverse() in C++


Here is the explanation for the above code:

  • A 'std::forward_list} called' myForwardList} is initialized with values 1, 2, 3, 4, and 5 by the C++ code.
  • After that, a for loop and the std::cout command are used to output the list's initial elements. The forward_list is subjected to the 'reverse()' function, which effectively reverses the order of its items.
  • The elements in reverse are printed to the console by another loop. The {main} function returns 0 at the end of the program, indicating that it ran successfully.
  • The code essentially shows how the C++ 'forward_list::reverse()' function can reverse a list, giving us a quick and easy way to change the order of the members in a single linked list.

The effectiveness of reverse_list::forward():

  • When working with huge datasets, the forward_list::reverse() function's performance is an important factor to take into account.
  • Reversing a forward_list entails updating the links between the elements without having to move the elements themselves because it is a singly linked list.
  • The temporal complexity of this operation is O(n), where n is the forward_list's element count. The procedure entails making one iteration of the list and modifying the pointers to reverse the order.
  • For situations when performance is critical, forward_list::reverse() is a sensible option due to its ease of use and effectiveness.

Use Cases:

It's crucial to know when to use forward_list::reverse() while building legible and efficient code. Here are some situations in which this function may come in handy:

Algorithm Improvement:

Reversing the order of the data may help some algorithms. For instance, algorithms utilizing recursion or backtracking might function better on a reversed sequence.

Presentation and User Interface:

The arrangement of items can greatly affect the user experience when working with presentation layers or graphical user interfaces. Reversing a list could be helpful when presenting historical data, logs, or any other situation where it is beneficial to provide information in reverse chronological order.

Manipulation of linked lists:

Reversing forward_list can be useful when working with specific algorithms or situations that call for linked list manipulation because it is a linked list.


In conclusion, a strong and effective method for reversing the order of elements within a singly linked list is offered by the forward_list::reverse() function in C++. This method is part of the Standard Template Library's (STL) std::forward_list class. It provides a simple syntax with an O(n) time complexity-where n is the number of members in the list. Because of its effectiveness, this operation is a useful tool for situations where reversing a linked list is necessary, such as when optimizing algorithms, getting ready to show data, or working with linked list structures. When working with singly linked lists, knowing about and utilizing forward_list::reverse() can help write C++ code that is more efficient and clear.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA