0

我在这里阅读了一些排序算法(http://www.sorting-algorithms.com/insertion-sort),我看到了以下行

i = 2:n

有人可以解释这是什么意思吗?

从理论上讲,我理解对于插入排序 i = 数组的大小。但是有人能告诉我我是否做对了吗?

4

4 回答 4

3

这种表示法通常用于描述数字范围。在您的情况下for i = 2:n,可以理解为“对于数字 2 到 n 中的每个 i”。如果 n=4,循环将运行 3 次,其中 i = 2、i = 3 和 i = 4。

于 2013-09-23T22:15:01.923 回答
3

在您链接的网站上的伪代码中:

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

于 2013-09-23T22:15:35.523 回答
0

它基本上是一个循环,类似于

for(int i = 2 ; i <= n ; i++)

而在循环上方的某处n定义。

基本上:假设i为 2,将其递增直到达到ni用于每次迭代以执行某些行为。

于 2013-09-23T22:14:46.977 回答
0

这意味着从toi获取值的迭代。2n

于 2013-09-23T22:15:04.173 回答