在计算机科学中,迭代是程序中对一组指令(或一定步骤)的重复。它既可以被用作通用的术语(与“重复”同义),也可以用来描述一种特定形式的具有可变状态的重复。
在第一种意义下,递归是迭代的一个例子,但是通常使用一种递归式的表达。比如用0!=1,n!=n*(n-1)!来表示阶乘。而迭代通常不是这样写的。
而在第二种(更严格的)意义下,迭代描述了在指令式编程语言中使用的编程风格。与之形成对比的是递归,它更偏向于声明式的风格。
这里是一个依赖于破坏性赋值的迭代的例子,以指令式的虛擬碼写成:
var i, a = 0 // 迭代前初始化 for i from 1 to 3 // 重复3次 { a = a + i // a的值增加i } print a // 打印出数字6
在这个程序片段中,变量i的值会不断改变,依次取值1、2和3。这种改变赋值——或者叫做可变状态——是迭代的特征。
迭代是将输出做为输入,再次进行处理。比如将摄像头对着显示器;比如镜子对着镜子;比如KTV中将麦克对着音箱;比如机关枪扣动扳机发射子弹后,利用后座力
继续扣动扳机。
用程序表述就是:for (int i=0; i
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!