Scroll to navigation

std::list::reverse(3) C++ Standard Libary std::list::reverse(3)

NAME

std::list::reverse - std::list::reverse

Synopsis


void reverse(); (noexcept since C++11)


Reverses the order of the elements in the container. No references or iterators
become invalidated.

Parameters


(none)

Return value


(none)

Complexity


Linear in the size of the container.

Example

// Run this code


#include <iostream>
#include <list>


std::ostream& operator<<(std::ostream& ostr, const std::list<int>& list)
{
for (auto& i : list)
ostr << ' ' << i;
return ostr;
}


int main()
{
std::list<int> list = {8, 7, 5, 9, 0, 1, 3, 2, 6, 4};
std::cout << "initially: " << list << '\n';


list.sort();
std::cout << "ascending: " << list << '\n';


list.reverse();
std::cout << "descending:" << list << '\n';
}

Output:


initially: 8 7 5 9 0 1 3 2 6 4
ascending: 0 1 2 3 4 5 6 7 8 9
descending: 9 8 7 6 5 4 3 2 1 0


Defect reports


The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.


DR Applied to Behavior as published Correct behavior
LWG 1207 C++98 it was unclear whether iterators and/or keep valid
references will be invalidated

See also


sort sorts the elements
(public member function)

2024.06.10 http://cppreference.com