注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

告别迷茫

梦想与现实的差距,就是我们生活的意义。因为我们有差距,我们才会一直积累,在努力。

 
 
 

日志

 
 

23-8复制 与我们的删除 copy copy_if copy_backward() remove——if 记到删除  

2014-04-22 23:09:50|  分类: STL 基本的用法 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
#include<deque>
#include<list>
#include<functional>
using namespace std;


template<typename T>
void display(const T &intput)
{
for(auto i=intput.cbegin();i!=intput.cend();++i)
{
cout<<*i<<" ";
}
cout<<endl;
cout<<" the input of size "<<intput.size()<<endl;
}
int main()
{
list<int> l;
for(int i=0;i<10;i++)
{
l.push_back(i);
}
display(l);
vector<int> v(l.size()*2);
auto copy1=copy(l.begin(),l.end(),v.begin()); /*这个可以返还一个迭代器 可以作为我们的最后的位子*/
display(v);



copy_if(l.begin(),l.end(),copy1,[](int element){return ((element%2)==1);/*这里我们就是使用了我们的元素的值啊*/
});
cout<<" copy of :";
display(v);
auto inewend=remove(v.begin(),v.end(),0);/*remove一个指向我们的末尾的迭代器,但是我们的容器并未调整我们的大小
其他的元素向前移动,但size 并没有进行改变;所以需要erase 进行调整我们的容器的大小 返回 虽然我们已经移除了,*/
v.erase(inewend,v.end());
display(v);
inewend=remove_if(v.begin(),v.end(),[](int e){return( (e%2)==1);/* 迭代器的值我们可以重复的使用的*/
});


v.erase(inewend,v.end());
cout<<" zui hou de :"<<endl;
display(v);
return 0;

}

23-8复制 与我们的删除  copy  copy_if  copy_backward()  remove——if  记到删除 - 983433479 - jet sky
 

  评论这张
 
阅读(5)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017