反转std :: list的内容

Mno*_*492 2 c++ reverse iostream stl list

class Print 
   {  
   public:
       void PrintAll() {}
   private:
    std::list<int> mylist;
   };
Run Code Online (Sandbox Code Playgroud)

我从C++语言书中看到了这个示例问题.我想打印内部的mylist元素.如果需要反转mylist,使用C++ STL库并使用输出结果,怎么办呢?

非常感谢你!

ild*_*arn 12

std::list<>::reverse()

也就是说,如果你只需要打印list反向,你可以简单地使用它打印list的反向迭代器(通过获得std::list<>::rbegin()std::list<>::rend())而不是使用list的正常迭代器.例如:

// given std::list<int> l;
for (std::list<int>::const_reverse_iterator iter(l.rbegin()), iter_end(l.rend());
        iter != iter_end;
        ++iter)
{
    std::cout << *iter << '\n';
}
Run Code Online (Sandbox Code Playgroud)

  • `std :: copy(l.rbegin(),l.rend(),std :: ostream_iterator <int>(std :: cout,"\n"));` (4认同)