1
3
1.比较与for循环条件来自同一容器的迭代器是很好的,但是这只在您移动增量部分(如果是for循环语句)或for循环本身主体中的一个或其他迭代器时才有意义。在这个for循环中,你比较
AS
因为你还在学习(尽管我们不是所有人!),通过这样的算法工作可能很有指导意义,但是您应该知道
(你需要
2。在外部for循环中,我看不到递增的iter或i t使后面for循环中的逻辑失效,1中的点。旁白。
三。
|
2
3
我没有检查你的算法的实现,我只是参考你的三个问题:
|
3
1
一些一般性的建议:您需要考虑变量名。将迭代器称为“it”和“iter”在某个时刻会使您感到困惑。实际上,如果你仔细观察,它已经有了。如果“farray”和“sarray”是有意义的名字,那么“fiter”和“siter”如何? 另外,思考一下合并排序正在做什么。最后两个块只是为了“耗尽”迭代器剩下的东西。所以他们不需要进入第一个循环。 我可能会把它写成(伪代码):
或者在一些锈蚀的货物中C++:
|
4
0
你有一些事情要考虑。 首先,如果要合并两个范围,最好使用 std::merge 功能,而不是滚动你自己。 您的代码有点难阅读,因为您使用不同的缩进样式和大括号。选择一种风格并坚持下去。 for循环的第一部分似乎是合并的正确实现:
…这应该是你完成工作所需要的全部。 循环的第二部分有几个问题:
首先,for()条件是这样编写的
但即使它们不是死代码,它们也有缺陷。中的条件
这两个都是
|
5
0
一个简单的评论:为什么不使用
后者施工不规范,难以理解! |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |