Algorithm 插入排序伪码问题

Algorithm 插入排序伪码问题,algorithm,pseudocode,insertion-sort,Algorithm,Pseudocode,Insertion Sort,我正在读算法导论这本书,伪代码是 INSERTION-SORT(A) 1 for j ← 2 to length[A] 2 do key ← A[j] 3 ▹ Insert A[j] into the sorted sequence A[1 j - 1]. 4 i ← j - 1 5 while i > 0 and A[i] > key 6 do A[i + 1] ← A[i] 7 i ← i - 1 8 A[i + 1

我正在读算法导论这本书,伪代码是

INSERTION-SORT(A)
1 for j ← 2 to length[A]
2   do key ← A[j]
3     ▹ Insert A[j] into the sorted sequence A[1  j - 1].
4     i ← j - 1
5     while i > 0 and A[i] > key
6      do A[i + 1] ← A[i]
7         i ← i - 1
8     A[i + 1] ← key
而wiki上的伪代码是

 for j ←1 to length(A)-1
     key ← A[ j ]
     > A[ j ] is added in the sorted sequence A[0, .. j-1]
     i ← j - 1
     while i >= 0 and A [ i ] > key
         A[ i +1 ] ← A[ i ]
         i ← i -1
     A [i +1] ← key

为什么一个从2和循环开始直到长度,而另一个从1和循环开始直到长度为-1?

看起来第一个伪代码块使用基于1的索引,而第二个使用基于0的索引。

基本上是一样的,只是一个索引从
0开始(基于零)另一个在
1
(一个为基础)。例如,在C中,数组是基于零的,而VB是基于一的。

+1,的确如此。维基百科上的书呆子会使用基于0的索引=)我希望人们能坚持一种方法。这有时会使阅读示例变得困难。