迭代和循环有什么区别?
What is the difference between an iteration and a loop?
我正在在线学习 Cs50 哈佛大学,我在第 3 周,但是在观看视频时我注意到我的迭代和循环看起来是一样的,因为它们一遍又一遍地重复。但肯定有区别,否则他们不会对同一事物有两个名称。无论我重新观看视频多少次,我都找不到不同之处。请帮助我理解。
通常“循环”是指代码,“迭代”是指重复某些步骤的概念过程。在这种情况下,它们或多或少是相同的。此外,您可以使用“迭代”来指代循环中的单个重复,这赋予它不同的含义。
第一次使用“迭代”的例子是:
You can print a linked list either by using iteration or recursion. If you use iteration, simply create a while-loop that propagates a "current" node through the list and stops when it becomes NULL.
以及引用特定重复的示例:
The following loop outputs numbers 1 to 10 in reverse order. At the k
-th iteration, 10-k+1
is printed:
for (i=10; i>=1; i--){
printf("%d\n", i);
}
代码中的循环是 3 件事的组合。
- 条件或休息时间。 (它不会自行停止)
- 一个循环参数,索引
- 可重复的待办事项列表
比起你在谈论迭代。
迭代只是循环的 1 个实例。
所以你第一次循环是 运行 你在你身上 0 实例/迭代。
您的索引几乎每次都指向您的实例/迭代。
https://codingbat.com/doc/java-for-while-loops.html
https://www.programiz.com/c-programming/c-for-loop
此外,迭代不是基于条件而是基于事件。
希望我回答了你的问题,如果需要更多信息,请回复。
“循环”是指用于重复执行某些代码的语言结构。 (for
循环,while
循环等)
“循环”也可以指重复执行的代码。 (例如,“它陷入了循环。”)
迭代是重复做某事的过程。 (例如“这个循环遍历数组的元素。”)
一次迭代是一次循环。 (例如,“在 for
循环的第一次迭代中,i
将是 0
。”)
这就是我的定义:
"Loop" - 一种控制流语句,根据提供的循环条件迭代循环体中的代码。它是一种语言结构,在 C 语言中我们有三种结构:for
、while
和 do-while
.
"Iteration" - 在第一个演练 之后循环体内代码的一个具体演练。换句话说,循环体代码的单次重复执行。
在执行 looping/iterating 时(作为动词,它们确实可以看作是相等的),您重复循环体中的代码。每一次重复都是一次迭代。
一个循环的目的是能够进行迭代。无法进行 迭代 循环构造是无用的。
因此,这两个术语密切相关,但并不相同。
我正在在线学习 Cs50 哈佛大学,我在第 3 周,但是在观看视频时我注意到我的迭代和循环看起来是一样的,因为它们一遍又一遍地重复。但肯定有区别,否则他们不会对同一事物有两个名称。无论我重新观看视频多少次,我都找不到不同之处。请帮助我理解。
通常“循环”是指代码,“迭代”是指重复某些步骤的概念过程。在这种情况下,它们或多或少是相同的。此外,您可以使用“迭代”来指代循环中的单个重复,这赋予它不同的含义。
第一次使用“迭代”的例子是:
You can print a linked list either by using iteration or recursion. If you use iteration, simply create a while-loop that propagates a "current" node through the list and stops when it becomes NULL.
以及引用特定重复的示例:
The following loop outputs numbers 1 to 10 in reverse order. At the
k
-th iteration,10-k+1
is printed:
for (i=10; i>=1; i--){
printf("%d\n", i);
}
代码中的循环是 3 件事的组合。
- 条件或休息时间。 (它不会自行停止)
- 一个循环参数,索引
- 可重复的待办事项列表
比起你在谈论迭代。 迭代只是循环的 1 个实例。 所以你第一次循环是 运行 你在你身上 0 实例/迭代。 您的索引几乎每次都指向您的实例/迭代。
https://codingbat.com/doc/java-for-while-loops.html
https://www.programiz.com/c-programming/c-for-loop
此外,迭代不是基于条件而是基于事件。
希望我回答了你的问题,如果需要更多信息,请回复。
“循环”是指用于重复执行某些代码的语言结构。 (for
循环,while
循环等)
“循环”也可以指重复执行的代码。 (例如,“它陷入了循环。”)
迭代是重复做某事的过程。 (例如“这个循环遍历数组的元素。”)
一次迭代是一次循环。 (例如,“在 for
循环的第一次迭代中,i
将是 0
。”)
这就是我的定义:
"Loop" - 一种控制流语句,根据提供的循环条件迭代循环体中的代码。它是一种语言结构,在 C 语言中我们有三种结构:for
、while
和 do-while
.
"Iteration" - 在第一个演练 之后循环体内代码的一个具体演练。换句话说,循环体代码的单次重复执行。
在执行 looping/iterating 时(作为动词,它们确实可以看作是相等的),您重复循环体中的代码。每一次重复都是一次迭代。
一个循环的目的是能够进行迭代。无法进行 迭代 循环构造是无用的。
因此,这两个术语密切相关,但并不相同。