1
7
这是有效的…但是一个for循环可能不是你想要的。当您使用两个for循环时,每次外部循环时,您的内部循环都会返回到开始。因此,如果向量包含:
然后,最终数组将包含如下内容:
因为您正在测试每个组合,并将较大的组合添加到最终列表中。更好的解决方案可能是为每个列表记住一个迭代器,并且只使用一个循环。与其循环遍历一个列表,不如一起遍历这两个列表——如果sarray有更大的数字,那么增加sarray迭代器,并将其与旧的farray迭代器进行比较。当sarray和farray都是空的时候,停止你的循环。
我没有测试过-如果这是做作业的话,那么 拜托 试着去理解我所做的,你自己去写,而不是复制+粘贴。 |
2
2
除了合并排序算法之外,使用迭代器嵌套的for循环与使用两个变量嵌套的for循环一样有效。 我 和 J . |
3
1
只要不重用循环变量,就可以嵌套任何类型的循环(for,while,do while)。如果您尝试这样做,它将编译,但可能会在运行时失败。尽管技术上允许在现代C和C++中为嵌套循环变量使用相同的名称,但这是混淆的并且应该避免。 除了前面提到的循环变量重用的问题之外,它与单个循环差不多不容易出错。 了解更多关于 limits 嵌套循环的。 |
4
1
循环嵌套是一种完全合法的方法。例如,这是穿过二维数组的经典“老派”方法——一个循环沿Y轴向下,另一个循环沿X轴向下。 现在,有了这些孩子以及他们的for-each循环、迭代器和映射函数,就可以证明 “更好” 方法(为了更好的定义)但是嵌套循环工作得很好。使用C++或指针不会改变这一点。 |
5
0
是的,你可以这样做。是的,它经常容易出错。事实上,编写循环本身就容易出错,这是使用STL中的算法的一个参数,就像对每个算法、复制和转换一样。 |
6
0
是的,您可以将循环或其他语句嵌套到您想要的几乎任何深度(在原因中;有一些限制,如另一个答案中所述,但它们远高于您应该需要的深度)。 |
smg_08 · 使用for循环在pandas数据帧中进行筛选[重复] 1 年前 |
stats_noob · R: 记录某个“行为”发生的循环的索引? 2 年前 |
nickolakis · 基于R中的列名复制列 2 年前 |
khalid Morrshid · 循环语法C语言 2 年前 |
Alex · 如何向嵌套字典json添加值? 2 年前 |