std::list<T,Allocator>::reverse - cppreference.com (original) (raw)

| void reverse(); | | (noexcept since C++11) (constexpr since C++26) | | --------------- | | ---------------------------------------------- |

Reverses the order of the elements in the container.

No references or iterators become invalidated.

[edit] Complexity

Linear in the size of the container.

[edit] Example

#include #include   std::ostream& operator<<(std::ostream& ostr, const std::list& list) { for (auto& i : list) ostr << ' ' << i; return ostr; }   int main() { std::list 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 references will be invalidated keep valid

[edit] See also

| | sorts the elements (public member function) [edit] | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |