递归实现,很简单,直接贴代码了。
#include <list>
#include <iostream>
using namespace std;
void listreverse(const list<int>& li,list<int>::iterator &it)
{
list<int>::iterator temp = it;
it++;
if (it != li.end())
{
listreverse(li,it);
}
cout<<*temp<<endl;
}
int main()
{
list<int> li;
for (int i = 0; i < 30; i++)
{
li.push_back(i);
}
list<int>::iterator intit = li.begin();
listreverse(li,intit);
return 0;
}