| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 803 人关注过本帖
标题:关于循环vextor
只看楼主 加入收藏
a99875984
Rank: 2
等 级:论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
结帖率:94.64%
收藏
已结贴  问题点数:20 回复次数:6 
关于循环vextor
*a.begin()=*(a.end())++;
这样能实现vector循环吗?
如果不行,能不能不通过IF来实现vector循环?
搜索更多相关主题的帖子: vector 
2013-04-28 19:05
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:7 
很普通的算法,在一个循环中检查每个元素,判断条件,如果为真,就删除这个节点,再继续循环。看似简单,但是却一个不大不小的陷阱,这种小问题的结论,总是记不住,每次遇到的时候,都得写一个测试程序来验证,干脆总结一下,做个结论。
 
最简单的方法
 
std::remove_if(_First, _Last, Predicate)
 
STL是用模板实现,简单高效,但是很多情况下,需要在循环中处理其他逻辑,不能直接使用这个函数

Maybe
2013-04-28 21:41
a99875984
Rank: 2
等 级:论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
收藏
得分:0 
回复 2楼 邓士林
抱歉了,可能我没表达清楚,就是先循环的线性表一样,实现循环向量

[ 本帖最后由 a99875984 于 2013-4-29 08:53 编辑 ]
2013-04-29 07:27
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:6 
从来没听说过if能实现循环

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-29 20:46
zhuxiaoneng
Rank: 4
等 级:业余侠客
威 望:2
帖 子:51
专家分:215
注 册:2013-4-10
收藏
得分:7 
这个有几种方式吧
for (int i = 0; i < vec.size; ++i)

for_each(vec.begin(), vec.end(), func)

    vector<int>::iterator it_b =  vec.begin();
    vector<int>::iterator it_e =  vec.end();

    while (it_b != it_e)
    {
        it_b++;
    }
2013-05-02 11:39
a99875984
Rank: 2
等 级:论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
收藏
得分:0 
回复 4楼 peach5460
额,我表达错误,就是指针迭代到向量尾部元素时用IF返回到头部元素
2013-05-02 12:54
a99875984
Rank: 2
等 级:论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
收藏
得分:0 
回复 5楼 zhuxiaoneng
额,我的意思是就像循环队列一样,尾结点的下一个结点又是头结点。
不过还是非常感谢,以前都不知道for_each。只知道用迭代或者循环来实现

[ 本帖最后由 a99875984 于 2013-5-2 13:02 编辑 ]
2013-05-02 13:00
快速回复:关于循环vextor
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022099 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved