C++:逆序拷贝元素

问题

给定一个包含10个元素的vector,
将位置3到7之间的元素按逆序拷贝到一个list中.

C++.
image-2132

源代码


/*************************************************************************
> File Name: test.10.37.cpp
> Author: puruidong
> Mail: 1@w1520.com
> Created Time: 2014年06月23日
************************************************************************/

#include
#include
#include
#include
#include using namespace std;

/*****************************

给定一个包含10个元素的vector,将位置3到7之间的元素按逆序拷贝到一个list中.

**********************************/

int main()
{
vector vec={0,1,2,3,4,5,6,7,8,9};
list lst;
vector::reverse_iterator it=vec.rbegin();
lst.insert(lst.begin(),(it+3),(it+7));

for(auto &s:lst)
{
cout << s << endl; } return 0; }

《C++:逆序拷贝元素》上有1条评论

  1. 我碰到这题一开始的思路是直接构造出需要的 list,但是不知道该怎么搞。看到你用 insert 做感觉也行的通,但是试了一下,不能通过编译。

    然后又找了会儿,这种直接构造的看上去漂亮多了 😀
    list lst(vec.crbegin()+3, vec.crend()-3);

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据