64,281
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<iterator>
#include<list>
#include<numeric>
#include<fstream>
using namespace std;
int main()
{
vector<int> li{ 1, 2, 3, 0, 4,3, 5, 6, 0, 7, 8, 9 };
auto me = find(li.begin(), li.end(), 3);
auto you = find(li.rbegin(), li.rend(), 7);
list<int>xiao(++me,--you.base());
ostream_iterator<int>ofi(cout, " ");
copy(xiao.begin(), xiao.end(), ofi);
cout << endl;
return 0;
}
#include <iterator>
std::reverse_iterator riter(xiao.end());
#include <iostream>
#include <iterator>
#include <list>
#include <vector>
using namespace std;
template <typename Iterator,typename Object>
void print_msg(const string &msg,const Iterator& from,const Iterator& to,const Object&,ostream &os =cout)
{
os<<msg<<" ";
ostream_iterator<Object>ofi(cout, " ");
copy(from,to, ofi);
os<<endl;
}
int main()
{
vector <int> v{1,2,3,0,3,4,5,6,7,0,9,8,7,6};
ostream_iterator<int>ofi(cout, " ");
vector <int>::iterator iv_7 =v.end()-1,iv_3 = v.begin()+4;
vector<int>::reverse_iterator rv_beg(iv_7),rv_end(iv_3);
print_msg("vector all output:",v.begin(),v.end(),*v.begin());
print_msg("vector all reverse output:",v.rbegin(),v.rend(),*v.rbegin());
print_msg("vector part output:",iv_3,iv_7,*iv_3);
print_msg("vector part reverse output:",rv_beg,rv_end,*rv_beg);
cout<<"============================"<<endl;
list <int> lst(iv_3,iv_7);
list <int>::iterator il_7(lst.end()),il_3(lst.begin());
list <int>::reverse_iterator rl_beg(il_7),rl_end(il_3);
print_msg("list all output:",lst.begin(),lst.end(),*lst.begin());
print_msg("list all reverse output:",lst.rbegin(),lst.rend(),*lst.rbegin());
print_msg("list part output:",il_3,il_7,*il_3);
print_msg("list part reverse output:",rl_beg,rl_end,*rl_beg);
return 0;
}
reverse(xiao.begin(), xiao.end());