搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 关于循环vextor
标题:
关于循环vextor
只看楼主
a99875984
等 级:
论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
结帖率:
94.64%
楼主
已结贴
√
问题点数:20 回复次数:6
关于循环vextor
*a.begin()=*(a.end())++;
这样能实现vector循环吗?
如果不行,能不能不通过IF来实现vector循环?
搜索更多相关主题的帖子:
vector
2013-04-28 19:05
邓士林
来 自:淮河河畔
等 级:
贵宾
威 望:
61
帖 子:2391
专家分:13384
注 册:2013-3-3
第
2
楼
得分:7
很普通的算法,在一个循环中检查每个元素,判断条件,如果为真,就删除这个节点,再继续循环。看似简单,但是却一个不大不小的陷阱,这种小问题的结论,总是记不住,每次遇到的时候,都得写一个测试程序来验证,干脆总结一下,做个结论。
最简单的方法
std::remove_if(_First, _Last, Predicate)
STL是用模板实现,简单高效,但是很多情况下,需要在循环中处理其他逻辑,不能直接使用这个函数
Maybe
2013-04-28 21:41
a99875984
等 级:
论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
第
3
楼
得分:0
回复 2楼 邓士林
抱歉了,可能我没表达清楚,就是先循环的线性表一样,实现循环向量
[
本帖最后由 a99875984 于 2013-4-29 08:53 编辑
]
2013-04-29 07:27
peach5460
来 自:武汉
等 级:
贵宾
威 望:
30
帖 子:2780
专家分:6060
注 册:2008-1-28
第
4
楼
得分:6
从来没听说过if能实现循环
我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-29 20:46
zhuxiaoneng
等 级:
业余侠客
威 望:
2
帖 子:51
专家分:215
注 册:2013-4-10
第
5
楼
得分: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
等 级:
论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
第
6
楼
得分:0
回复 4楼 peach5460
额,我表达错误,就是指针迭代到向量尾部元素时用IF返回到头部元素
2013-05-02 12:54
a99875984
等 级:
论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
第
7
楼
得分:0
回复 5楼 zhuxiaoneng
额,我的意思是就像循环队列一样,尾结点的下一个结点又是头结点。
不过还是非常感谢,以前都不知道for_each。只知道用迭代或者循环来实现
[
本帖最后由 a99875984 于 2013-5-2 13:02 编辑
]
2013-05-02 13:00
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-405854-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.997970 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved