我在这里阅读了一些排序算法(http://www.sorting-algorithms.com/insertion-sort),我看到了以下行
i = 2:n
有人可以解释这是什么意思吗?
从理论上讲,我理解对于插入排序 i = 数组的大小。但是有人能告诉我我是否做对了吗?
我在这里阅读了一些排序算法(http://www.sorting-algorithms.com/insertion-sort),我看到了以下行
i = 2:n
有人可以解释这是什么意思吗?
从理论上讲,我理解对于插入排序 i = 数组的大小。但是有人能告诉我我是否做对了吗?
这种表示法通常用于描述数字范围。在您的情况下for i = 2:n
,可以理解为“对于数字 2 到 n 中的每个 i”。如果 n=4,循环将运行 3 次,其中 i = 2、i = 3 和 i = 4。
在您链接的网站上的伪代码中:
for i = 2:n,
for (k = i; k > 1 and a[k] < a[k-1]; k--)
swap a[k,k-1]
end
第一行表示第二行和第三行是重复n-1
的次数,第一次,i = 2
,第二次,i = 3
,第三次,i = 4
,最后一次i = n
。
它基本上是一个循环,类似于
for(int i = 2 ; i <= n ; i++)
而在循环上方的某处n
定义。
基本上:假设i
为 2,将其递增直到达到n
并i
用于每次迭代以执行某些行为。
这意味着从toi
获取值的迭代。2
n